Subject Re: [IB-Architect] Table Inheritance
Author Jim Starkey
At 11:22 PM 7/18/00 +0800, Joseph Alba wrote:
>
>There are two ways that of OO structural reuse:
>1. Inheritance
>2. Interface.
>
>Inheritance is done through Class definitions
>Interface through dynamic binding - usually on object (instantiated) level.
>

I'm not at all sure where the binding baggage came from, but it has
nothing at all to do with InterBase. At DDL time we have the full
definition, so nothing is dynamic or deferred.

Interfaces are part of some OO languages to support polymorphism
without the hassles of inheritance. I'm (as always) open to
correction, but I don't see a need for interfaces in a database
context.

The basic OO principles are encapsulation and polymorphism,
through virtually all OO implementations toss in specialization
and inheritance. Encapsulation means you can use it without
understanding its implementation. Polymorphism means you can
treat a set of classes with different implementations as equivalent.
Specialization means a derived class is polymorphic with its parent.
Inheritance is a good hack to reduce the amount of code written.

Keep in mind we're trying to solve a specific problem (trigger
proliferation), though for economy we may solve some other problems
as well. Lets try to minimize the extraneous baggage.

If we need interfaces (why do I want to type InterFaces?), we need
them. But lets not go looking for a home for them right now.



Jim Starkey