class a(object):
def f(self):
print 'a f'
class b(a):
def f(self):
a.f(self)
a=a()
b=b()
a.f()
b.f()
a.f(a)
b.f(b)
print '-----------'
a.f(b)
print '-----------'
b.f(a)
結果:a f
a fa f
a f-----------
a f-----------
traceback (most recent call last):
file "k.py", line 17, in
b.f(a)
typeerror: unbound method f() must be called with b instance as first argument (got a instance as first argument (got a instance instead)
結論:1. 父類非繫結方法傳入子類例項物件ok。
2. 子類非繫結方法傳入父類例項物件no。
如何理解呢?子類非繫結方法中可能會操作一些只有子類中定義的屬性。
powerdesigner 類的繼承關係
在開發中,總是會面對部分相同的實體類這種情況的。那麼,我們需要在powerdesigner 中就直接關聯好這種關係。但是,怎麼做呢?實現方式 concrete table inheritance 具體表繼承 single table inheritance 單錶繼承 class table inhe...
類的關係之繼承
子類在呼叫構造方法時預設呼叫父類的構造方法 程式塊子類不能直接呼叫,子類執行構造方法之前,預設呼叫了父類的構造方法,父類的構造方法之前預設執行父類的塊this和super都是指代詞,代替的是物件 this代替的是當前執行方法時的那個物件,不一定是當前類的 super代替的是當前執行方法時的物件的父類...
物件導向之繼承(類與類之間的關係)
繼承 類與類之間的關係 父子關係 子類繼承父類,那麼子類就擁有父類的公共屬性和方法 乙個子類只能繼承乙個父類,乙個父類可以有好多子類 子類物件可以直接轉成父類,但父類只能轉回對應的子類 如果子類轉成父類之後,父類物件就不能點出子類裡面的屬性和方法使用了 c 允許乙個類繼承其他類的屬性和方法,別繼承的...