Xref: utzoo comp.lang.eiffel:1329 comp.object:2424 Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!mintaka!olivea!samsung!uunet!munnari.oz.au!metro!ipso!runxtsa!chrisv From: chrisv@runx.oz.au (Chris Velevitch) Newsgroups: comp.lang.eiffel,comp.object Subject: Inheritance and Information Hiding Keywords: oop, ood, Eiffel, inheritance, information hiding Message-ID: <1991Jan23.224203.3206@runx.oz.au> Date: 23 Jan 91 22:42:03 GMT Sender: chrisv@runx.oz.au (Chris Velevitch) Organization: RUNX Un*x Timeshare. Sydney, Australia. Lines: 19 I disagree with allowing a class to access inherited features that are not exported. It does not make sense that secret features are known to heir of a class. If a feature is not publicly known, then how can you know about the feature to use in the descendent class. Eiffel allows a class to be designed so it has no interface, which can then be used in descendent classes. What use is a black box in which you cannot put anything in or take anything out. When designing a class, a designer makes the interface public, not its implementation. The user of a class buys services from the class based solely from its publically known behaviour and features. You can only inherit features that are known. I consider inheritance as a form of buying services. -- Chris Velevitch RUNX Unix Timeshare | Internet: chrisv@runxtsa.runx.oz.au Sydney NSW, Australia. | UUCP: uunet!runxtsa.runx.oz.au!chrisv