迄今為止,所看到的繼承模式的乙個弱點就是我們沒辦法保護隱私。物件的所有屬性都是可見的。我們沒法得到私有變數和私有函式。
var mammal = function(spec) ,
that.get_name = function
() ;
that.says = function
() ;
return
that;
};
name 和 saying 屬性現在完全是私有的。他們只能通過get_name和says兩個特權方法才可以訪問。
在偽類模式中,構造器函式cat不得不重複構造器mammal已經完成的工作。在函式化模式中不在需要了
var cat = function(spec ) ;
關於繼承,函式的繼承
1.子類擁有了父類的public財產 私有成員其實也有,但是訪問不了 通過子類呼叫函式時,編譯器先在子類中找相應的函式,找不到的話再去父類找。如此一來,如果父類和子類定義了一樣的函式 包括引數列表 子類的函式會覆蓋父類函式。如果,父類定義了子類的同名函式,但是引數列表不同,子類的也會被覆蓋隱藏,如 ...
單繼承 多重繼承 序列化 反序列化
from person import person class student person def init self,name,age,money,stuid 呼叫父類中的 init super init name,age,money 單繼承 子類可以有一些自己獨有的屬性 self.stuid ...
虛函式的三種繼承(普通繼承,虛函式繼承,虛繼承)
include using namespace std class a class b public a class c public virtual b int main cout b類,普通繼承,乙個整型4b,繼承下來的乙個整型4b,虛指標4b,共12b b類的虛函式表有aa與bb兩個虛函式位址...