[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Inheritance of Methods



    Date: 21 Jan 87  2010 PST
    From: Dick Gabriel <RPG@SAIL.STANFORD.EDU>


    There is now a section in concepts about inheritance of methods.  The
    description of this inheritance makes most sense for ``classical''
    methods; some would argue that those are the only methods for which this
    description makes sense. CONCEPTS now does not contain the phrase ``classical
    method,'' and this description does not jive with the section ``Method
    Selection and Combination.'' Though this might have been a useful way to
    conceptualize methods in the old days, I think it is outmoded, and we
    plan to delete the subsection of ``Inheritance'' called ``Inheritance of
    Methods.''

		    -rpg-

Note that this section does not contain the phrase "classical method"
either.   

The "Inheritance" chapter mostly talks about the inheritance of slots
and DEFCLASS options.   But you have to talk about methods here, to some
degree.   It would be misleading to say "The :accessor slot-option is
not inherited".    That statement alone implies that if a superclass
gives the :accessor option, it has no effect on the subclass.   But in
fact, that method is applicable for the subclass.   It's important to
state that explicitly.   

Also, it's important to mention that a class can have an applicable
method for accessing a slot, but if the class used :allocation :none for
that slot, using the method will result in an error.   

The section also notes that the inheritance of methods works the same
way, regardless of whether the method was defined by DEFMETHOD or by one
of the DEFCLASS options.   

I would suggest that we rewrite that short "Inheritance of Methods"   
section if you want, but not remove it.   One suggestions is to rename  
it "Inheritance of Accessor Methods" and discuss it from that 
perspective.