[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Object Oriented programming question
- Subject: Re: Object Oriented programming question
- From: mallors(at)msfc.nasa.gov (Robert S. Mallozzi)
- Date: 23 Apr 1999 19:12:52 GMT
- Newsgroups: comp.lang.idl-pvwave
- Organization: http://www.msfc.nasa.gov/
- References: <7fn9hp$7dj$1@news.quebectel.com> <372074A1.3FD713D7@astro.estec.esa.nl>
- Xref: news.doit.wisc.edu comp.lang.idl-pvwave:14488
In article <372074A1.3FD713D7@astro.estec.esa.nl>,
>
> Oh that's pretty simple (sorry I shouldn't say this ;-) - a good
> way to see how is the file lib/trackball__define.pro
>
> at definition of an object like trackball, the ::init method
> is called which may be defined in such a way that you can specify
> required and optional parameters - remember that you set the
> object using self.(whatever...)
>
> it is a very good (and probably the only) way to have all object
> related methods in one file like the above examples trackball_define.pro
> follow stricktly the order:
> a) first arbitrary methods specialized for this object only
> b) typical, more general methods (SetProperty, GetPro....
> c) the init method
> d) finally, the define method
>
> IDL does then the rest - if you need another example like
> creating a complete atom by a set of objects starting from
> simple spheres, mail me (only an example, not fully done)
There is no problem defining object methods each in their
own files. For larger objects with many methods, I prefer
to put each method in its own file, and let IDL's automatic
compilation do the rest. Objects can be defined in the file
"obj__define.pro", and methods in "obj__method1.pro",
"obj__method2.pro", etc.
The only thing to watch our for is under case-sensitive
operating systems, you must name your files in all lower case,
although within IDL you can use case. For example, I might
have the object method called "plotData", which would be placed
in the file "obj__plotdata.pro". But for the implementation,
I would typically write
PRO obj::plotData
.
.
.
END
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Robert S. Mallozzi 256-544-0887
Mail Code ES 84
Work: http://www.batse.msfc.nasa.gov/ Marshall Space Flight Center
Play: http://cspar.uah.edu/~mallozzir/ Huntsville, AL 35812
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~