面對對象
- 什麼是面對對象?
-
- 建立一個自定義對象
- 調用自定義對象
- this關鍵字
- 封裝
- 繼承
- 多肽
什麼是面對對象?
面對對象是一種程式設計思想,以人固有的思維方式用來解決程式中的邏輯思維,便于程式的維護管理。
建立一個自定義對象
在我們生活中,汽車使我們的不可缺少的交通工具,假設設定汽車的對象,汽車有品牌,顔色,排量等等屬性
var obj = {
carName = 'BWM',
carColor = 'Black',
carTemp = 1.8,
}
當然汽車也有一些行為動作,譬如啟動,加速,停車等等。
var obj = {
carName = 'BWM',
carColor = 'Black',
carTemp = 1.8,
carStar:function(){
console.log('啟動');
},
carUpSpeed:function(){
console.log('加速');
},
carStop:function(){
console.log('停車');
}
}
調用自定義對象
建立了一個自定義的汽車對象,我們可以去調用它,調用分三種情況:
第一種,在自定義對象外面調用對象
// 擷取汽車對象的品牌
obj.carName;
// 擷取汽車的啟動方法
obj.carStar();
第二種,在自定義對象裡面調用對象
// 擷取汽車對象的品牌
this.carName;
// 擷取汽車的啟動方法
this.carStar();
第三種,在内置對象裡調用對象
document.onkeydown=function(event){
// 擷取汽車對象的品牌
obj.carName;
// 擷取汽車的啟動方法
obj.carStar();
}
this關鍵字
以上三種方式用到了
this
關鍵字,
this
指向的是調用該函數的對象。
在第二種自定義對象
obj
裡面調用對象,此時
this
指向 自定義對象
obj
,
在第三種在内置對象
document
裡調用對象,此時
this
指向 内置對象
document
封裝
封裝,顧名思義就是将事物封裝成類,隐藏事物的屬性和方法的實作細節,僅對外公開接口。
譬如異常汽車類,将品牌,顔色,排量,啟動,加速,停車等等封裝成類。
// 申明父類
var Car = function(Name,Color,Temp){
this.Name = Name;
this.Color = Color;
this.Temp = Temp;
}
// 為父類添加共有屬性
Car.prototype.shopName = '旗艦店',
繼承
繼承就是子類可以使用父類的所有功能,樣就可以節約記憶體,減少代碼累贅。
// 申明子類
var Carinfo = function(){
this.intr(){
console.log(`this is Son`);
}
}
// 繼承父類
Carinfo.prototype = new Car();
多肽
多态實際上是不同對象作用與同一操作産生不同的效果。