Path: utzoo!attcan!uunet!steinmetz!phecda!halvers From: halvers@phecda.steinmetz (Pete Halverson) Newsgroups: comp.lang.misc Subject: Re: object oriented design decision Message-ID: <12636@steinmetz.ge.com> Date: 20 Nov 88 19:53:43 GMT References: <4086@enea.se> <11522@cup.portal.com> Sender: news@steinmetz.ge.com Reply-To: halverson@crd.ge.com (Pete Halverson) Lines: 12 From my experience, multiple inheritence seems to be most useful when you're trying to represent characteristics that are somehow orthogonal, i.e. land vehicles vs. sea vehicles, motorized vs. non-motorized, military vs. commercial. Single-inheritance-only schemes require you to define a separate class for each combination (i.e. Motorized-Military-LandVehicle, NonMotorized-Commercial-SeaVehicle). If you have many dimensions and many subclasses, the resulting cross-product is going to get real nasty, real fast. Not to say these kinds of systems aren't complex (I'm currently in the midst of trying to decipher the Symbolics window class structure) but multiple inheritance can at least directly represent these orthogonalities.