? ? 概? ?念? ? ??
1.類(lèi),模板
class People {
constructor(name, age){
this.name = name
this.age = age
}
eat() {
alert(this.name)
}
}
2.對(duì)象(可以使用類(lèi)創(chuàng)建對(duì)象 實(shí)例化 初始化)
// 創(chuàng)建對(duì)象
let zhang = new People('zhang', 20)
zhang.eat()
? ? ?三 要 素? ? ? ??
繼承:子類(lèi)繼承父類(lèi)
封裝: 數(shù)據(jù)的權(quán)限與保密多態(tài):同一接口不同實(shí)現(xiàn)
繼承(可將公共方法抽離,提高復(fù)用,減少冗余)
class Student extends People {
constructor(name, age, number) {
super(name, age)
this.number = number
}
student(){
alert(this.number)
}
}
let xiaoming = new Student('xiaoming', 28, 21354)
封裝(減少耦合 不該外漏的外漏 利于數(shù)據(jù) 接口的權(quán)限管理? ? _下劃線開(kāi)頭一般是私有屬性)
public:?公共 (不寫(xiě)默認(rèn))
protected: 對(duì)子類(lèi)開(kāi)放(只能在函數(shù)內(nèi)部使用 無(wú)法外部直接訪問(wèn))
? private: 對(duì)自己開(kāi)放????????????????????????????????????????????????????????????????????????????????????????????????????????????????
// ts
class People {
age (public age 不寫(xiě)默認(rèn)public)
name
protected weight
constructor(name, age){
this.name = name
this.age = age
this.weight = 100
}
eat() {
alert(this.name)
}
}
class Student extends People {
constructor(name, age, number) {
super(name, age)
this.number = number
}
student(){
alert(this.number)
}
}
let xiaoming = new Student('xiaoming', 28, 21354)
xiaoming.weight // 報(bào)錯(cuò) 因?yàn)橹辉试S在子類(lèi)中使用 不允許外部使用
多態(tài)(同一個(gè)接口 不同表現(xiàn) 類(lèi)似聲明一個(gè)類(lèi) 相當(dāng)于一個(gè)接口 )(建議簡(jiǎn)單了解一下java)
1.保持子類(lèi)的開(kāi)放性和靈活性
2.面向接口編程
3.js引用很少
最佳實(shí)現(xiàn) jquery?
以前的人沒(méi)有設(shè)計(jì)出計(jì)算機(jī)是因?yàn)橄氲奶珡?fù)雜
編程應(yīng)該 簡(jiǎn)單 & 抽象??文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-510368.html面向?qū)ο蟮囊饬x: 數(shù)據(jù)結(jié)構(gòu)化文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-510368.html
到了這里,關(guān)于面向?qū)ο螅ㄗ詈美斫?最美觀 最簡(jiǎn)潔)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!