Thomas Hallgren wrote:
Speaking in generic OO terms, using inheritance, you cannot remove
attributes that are present in the generalisation. If B inherits A, an
instance of B is per definition also an instance of A. Thus, you must alwasy
be able to cast a B into an A. In short, If you don't want the OID, you
cannot inherit a something that has an OID.
This is not completely true:
struct B
{
void foo();
};
class D : public B
{
private:
void foo();
public:
void bar();
};
as you can see a D "is a" B but the publich foo() doesn't
appartaint to D, at least an user of D could not use foo()
Having said that, I think a warning is motivated. The warning should state
that attributes (columns) present in the generalisation (the parent table)
cannot be hidden.
Right.
Regards
Gaetano Mendola
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]