物件導向程式設計

2021-10-25 12:40:37 字數 1960 閱讀 2419

oop:object - oriented - programming

無序的屬性繼承——物件

把資料及資料的操作方法放在一起,作為乙個相互依存的整體——物件

建立具有相同屬性名的物件的函式——類

對同類物件,抽出其共性,形成類

類中的大多數資料只能用本類方法進行處理

特性封裝:

第一層含義:把物件的屬性和行為看成乙個比不可分的整體

第二層含義:資訊隱藏,把不需要讓外界知道的資訊隱藏起來

繼承:子類繼承父類的特徵和行為,使得子類物件具有父類的例項域和方法

繼承的好處:

a.提高**復用

b.提高**維護性

c.使得類和類之間產生聯絡

繼承的方法

a.原生鏈繼承

優點:繼承所有

缺點:不能給父級傳參

原生鏈繼承寫法:

1.建立父類

2.建立子類

3.子類.prototype=new 父類()

4.例項化子類,得到物件

//建立父類

function

fu(name,age)

fu.prototype.

say=

function()

//建立子類

functionzi(

)//子類.prototype=new 父類()

zi.prototype=

newfu

("liu",20

)var s1=

newzi()

; console.

log(

"s1"

,s1)

; console.

log(s1.name,s1.age)

; s1.

say(

)//子類例項化

var s2=

newzi()

console.

log(

"s2"

,s2)

;

b.類式繼承 借用建構函式繼承,改變this指向繼承

優點:可以給父類傳參

缺點:不能繼承父類的原型物件

類式繼承寫法:

1.建立父類

2.建立子類

3.子類內部呼叫父類——改變父類的this指向

4.例項化子類,得到物件

//建立父類

function

fu1(name,age)

fu1.prototype.

say=

function()

//建立子類

function

zi1(name,age)

//子類例項化

var obj1=

newzi1

("liu",20

) console.

log(obj1)

;

c.組合繼承

原型鏈繼承+類式繼承

//建立父類

function

fu3(name,age)

fu3.prototype.

say=

function()

//建立子類

function

zi3(name,age)

zi3.prototype=

newfu3()

//子類.prototype=new 父類()

zi3.prototype.

run=

function()

var obj3=

newzi3

("zhao",20

)//子類例項化

console.

log(obj3)

;

完美的繼承方式,可以給父類傳參,又可以全部繼承

c 物件導向程式設計 物件導向

什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...

物件導向程式設計

物件導向程式設計 抽象 封裝 繼承 多型 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因。開放封閉原則 軟體實體應該可以擴充套件,但是不可修改。所有的設計模式都是對不同的可變性進行封裝,從而使系統在不同的角度上達到開發封閉原則。依賴倒轉原則 a 高層不應該依賴低層,兩個都應該依賴抽象。b ...

物件導向程式設計

class team def init self self.name tampa bay buccaneers bucs team print bucs.name tampa bay buccaneers 當呼叫team 函式時,會自動呼叫init函式,self是自動傳入到init中的引數,它指向當...