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中的引數,它指向當...