繼承關係類例項物件的非繫結關係方法呼叫

2021-07-04 17:24:04 字數 687 閱讀 2280

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 允許乙個類繼承其他類的屬性和方法,別繼承的...