Hello, Nov 18/01
This is a small taste of the Object Orientated Programming model developed
specifically for MASM32 and Hutch's Win32ASM package. The model was designed
by Jaymeson Trudgen (NaN) and Thomas Bleeker (Thomas) and is provided
open sourced for learning purposes ONLY.
© Sept 19, 2001. Any commercial profit involving the use or distribution
of software generated by our MASM32 OOP model is strictly prohibitted unless
written consent is provided by BOTH Jaymeson Trudgen and Thomas Bleeker.
If objects become a major portion of any project, please make an attempt to
acknowledge the use of our work by any means, thank you.
The Model (Objects.inc):
-------------------------
To learn how the model works its is advised to read over the OBJECTS.INC
source briefly (dont study it too hard the first time through) to get a feel
for what is provided. Then study the simple example of how some of the
model's features are put to use in the CSprite example provided.
There is only two things to really notice in this example with regard
to learning how the model works: 1) The CSprite class structure (which
can be generated automatically with the Object creator tool to make life
easier!), and 2) Creating, calling methods, and Destroying objects in normal
sequencial coding.
The most used macro's to look for are : NEWOBJECT, METHOD, and DESTROY.
They are used primarialy in your nonrmal squencial coding to get objects
created, working for you, and destroyed when needed.
There are other macros that are specific to the design of object classes,
such as: OVERRIDE, SUPER, SET_CLASS, CLASS, BEGIN_INIT, CMETHOD etc. etc.
These are provided to keep the needed set up code simple in design. Please
eventually study these macro functions, they will save you alot of guess
work when writing your own class files.
Lastly, there is $() methods also provided. They are advised to be used
when experienced with the model and understand fully how the model functions.
They will make your code smaller in some cases, but its possible to hide how
data is being moved about and make debuggin less obvious. So be warned :)
I personally enjoy their uses so i do encourage you to eventually learn to use
them as well :)
The Example(s): CSprite & CSmiley
----------------------------------
NOTE: Always read the README first!
There is two examples provided, written by Thomas Bleeker. It shows you some
of the functionality the OOP model can provide. The first example
is fully provided in the CSmile directory. It is broken into simple "chunks"
for studying. Most of the sources are standard MASM coding except periodic
method calls to work on CSprite instances. This example shows the very basic
OOP model, constructor, destructor, instance variables, and methods. They
are brought together in CSprite.asm to make a sprite class that is self
contained and able to be used to manage many sprites at once (GDI graphics).
Please read the CSprite.html and study the CSprite.asm file.
The second example shows primarialy inheritance. Rather than re-writing a
new TYPE of sprite class, inheritance will make use of the base class
(CSprite) and extend it to include another feature, to provide foot steps
where the sprite has been as well!. This example shows how the SUPER macro
can be used to maximize code reuse, how to make a polymorphic method (draw
method), and how to set up inheritance in general. This example is contained
in a separate directory within the CSprint directory, and requires some
setup to compile (( READ THE README in this directroy, the steps are simple ))
The included Tools: Object Creator v1.6, and OOP2HTML v1.6
-----------------------------------------------------------
These two tools are to help your create and organize objects.
The Object creator is somewhat basic, but effective. It will create
for you an empty Class framework complete with headers compatible for the
OOP2HTML tool. The framework will be built as instructed by the creator
and only function code will need to be manually added in the methods.
NOTE: There is no edit feature, so modifications must be done manually
(IE, inserting a new method). Sorry for this, but there IS a new
version coming soon to accomodate this drawback and make OOP even
easier to use! :)
The OOP2HTML tool is quite simple to use. It will look for "#xxxxx" statements
only within the commented area of a OOP Class file and extract the comments
into an orgainized HTML file. By properly documenting the class and methods
with these #xxxx statements, a neat and orgainized HTML reference for the class
can be created by draggin and droping the file on to the OOP2HTML window. The
output HTML file is automatically generated in the same directory.
This too adds to OOP's strength because proper documentation of classes and
their methods can allow for better class reuse in the future (by
providing proper information in the header/html to reuse a class properly).
HeLp? Resources?
-----------------
NOTE: There is a VERY basic text example of how objects work on Thomas'
downloads page. (simpler than the two included, but rather boring to
look at :)
Theses are only two examples, if your have an inquiry on how to do other
stuff with our model, or looking for other examples please visit our web
sites to get the latest updates and examples:
http:\\nan32asm.cjb.net\ (Nan's homepage - a sort of "work in progress")
http:\\exagone.cjb.net\ (Thomas' homepage - good downloads)
or Email either of us:
jaymeson@hotmail.com (Jaymeson Trudgen)
ska-pig@gmx.net (Thomas Bleeker)
OOOR...
Ask as many questions as you can think of in the COM section of the windows
32 assembly message board, we both visit almost daily:
http:\\win32asmboard.cjb.net (Windows 32 Assembly message board)
-------------
Happy Coding!
NaN
Wyszukiwarka
Podobne podstrony:
Garbage You Look So Fine10 Grammar Mistakes That Make You look StupidBarry Manilow If You Were Here With Me TonightIncubus Wish you were herehey you 2Modern Talking Hey YouChicago Wishing you were hereA1 Hey YouBrandy As Long as you are hereHEY YOU, Ping Floyd Xhow you lookBlink2 Everytime a look for youStephen King Never Look Behind YouThree Doors Down Here Without You03 Here is How you can Get TimeHere you come again Dolly PartonThe Fray Look after youwięcej podobnych podstron