comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Inheritance query
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Inheritance query [message #17639 is a reply to message #17629] Thu, 04 November 1999 00:00 Go to previous message
davidf is currently offline  davidf
Messages: 2866
Registered: September 1996
Senior Member
Bernard Puc (bpuc@va.aetc.com) writes:

> For the object programming gurus: I'm creating a class called data.
> I'm then creating subclasses of data called type1, type2, etc. The
> type1 class inherits the data class attributes. Now, is it possible to
> inherit, lets say, the data::INIT method and somehow add to it? Or, do
> I have to write an entirely new INIT method for type1 class which
> incorporates the statements in the data::INIT method?

If you don't define an INIT method for, say, your
TYPE1 object, IDL will look for an INIT method in
a subclass object and use that. If you decide
that you would like to add to an INIT method
for the TYPE1 object, and still use the INIT
method of a superclass, you can call the
superclass INIT method from within the TYPE1
INIT method. (The only time you can call
a lifecycle method yourself is from within
a subclass lifecycle method.) It might look
something like this:

FUNCTION TYPE1::INIT, _Extra=extra
ok = self->DATA::INIT(_Extra=extra)
IF NOT ok THEN RETURN, 0

Note this really strange behavior: If you don't
create an INIT method for your TYPE1 object
and then create a TYPE1 object, it will, of
course, use the INIT method of the inherited
DATA object. But if you now decide to write
a TYPE1::INIT method, you will never to able
to attach it to a TYPE1 object in that IDL
session! You will have to exit IDL and restart
for the correct INIT method to be associated
with the TYPE1 object.

I'm just about done with an article explaining
this phenomemon in more detail. It should be up
on my web page later today.

Cheers,

David

--
David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: Re: Xinteranimate "Unable to create pixmap" error
Next Topic: Re: idl emacs question

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 20:03:51 PDT 2025

Total time taken to generate the page: 0.00390 seconds