物件導向 繼承

2022-08-29 13:09:15 字數 845 閱讀 2198

繼承

繼承是兩個物件直接產生的一種關係

在oop的程式中繼承是描述類與類之間的一種關係

a 繼承 b

繼承的好處:a就可以之間使用b類中的屬性和方法

繼承極大的提高了**的重用性

a稱之為子類/派生類,b稱為父類/基類

抽象在使用繼承的時候,一定是先抽象,在繼承

抽象是抽取一堆類共同擁有的內容,形成乙個新的抽象概念(類也稱之為共公基類)

屬性的查詢順序

沒有繼承關係:物件 > 類

存在繼承關係:物件 > 物件的類 > 父類 > ... > object

object

是所有類的跟類,所有類都直接或間接的繼承自object,在定義時沒有手動繼承任何類,會預設繼承object,object中包含了所有物件的通用方法

經典類與新式類

新式類:只要是繼承自object的都叫新式類

在python3中所有類都是新式類

python2中沒有手動繼承object的類都是經典類

繼承的常用方式之一

可以繼承乙個系統已有的類,來擴充套件新功能

派生當乙個類繼承另乙個類,並存在與父類不同的內容時就稱之為派生類

覆蓋在繼承關係中,子類可以出現與父類完全相同的方法

會優先使用子類中的方法

子類重用父類的方法

指名道姓的呼叫父類中的函式

super().要訪問的名字

組合:乙個物件把另乙個物件作為屬性

python支援多繼承

乙個類可以同時繼承多個其他類

好處:可以同時擁有多個類中已存在的內容

菱形繼承

新式類:廣度優先

經典類:深度優先

物件導向繼承

using system class class1 class virtualclass class hiddenclass virtualclass class overrideclass virtualclass 結果為 父類 繼承類using system class class1 class...

物件導向 繼承

在原有物件的基礎上,略作修改,得到乙個新的物件,不影響原有物件的功能。即子類不影響父類,子類可以繼承父類的一些功能 復用 function createperson name,createperson.prototype.showname function var p1 new createpers...

物件導向,繼承

物件導向 使用物件時,只關注物件提供的功能,不關注內部實現的細節 特點 抽象 多型 封裝 繼承 組成 方法 函式 屬性 變數 工廠模式 原料 加工 出廠 問題 沒有new 每個物件都創造自己的函式,浪費資源 相當於每次都建立了乙個物件 使用new操作符,替我們建立了乙個空物件 通多this新增屬性 ...