js物件導向的三大特性

2022-09-06 14:12:23 字數 2338 閱讀 7618

0x00:使用oop技術,常常要使用許多的**模組,每個模組都提供特定的功能,每個模組老師孤立的,甚至與其它的模組完全獨立,這種模組化的程式設計方法大大的提供了**實現的多樣性,大大增加了**的重用性。js並不是直接的oop語言,但是可以通過模擬的方式做到其它很多oop語言才能做到的事情,如繼承、多型、封裝(沒有做不到,只有想不到)

0x01:物件的屬性

物件的屬性分為物件屬性、私有屬性 和類屬性

物件屬性:要建立物件後才能使用

私有屬性:在內部就可以使用,在外部需要通過閉包才能使用

類屬性可以通過物件名稱直接使用

function func()

func.classpor = "類屬性";

console.log(func.classpor);    

var f = new func();

console.log(f.objpro1);

console.log(f.objpro2);        

結果如圖 :

我們再訪問一下私有屬性試試看

console.log(f.privatepro); 

結果如圖:

在內部訪問私用屬性:

function func()

}func.classpor = "類屬性";

var f = new func();

console.log(f.getter());

結果如圖:

還有就是通過閉包的方式來取得私有變數

function func()

return

function()

}var fun = new func();

console.log(fun());

看結果: 

0x02:物件方法

物件方法包括:物件方法、私有方法和類方法,使用類似 前面的屬性

function

democlass()

//屬性方法

this.objmethod = function()

democlass.prototype.promethod = function()

}democlass.classmethod = function()

var f = new democlass();

f.objmethod();//

呼叫屬性方法

f.promethod();//

呼叫屬性方法

結果如圖:

那我們再呼叫一下私有方法試一下:

f.privatemethod(); //呼叫私有方法

呼叫一下類方法:

f.classmethod();//呼叫類方法

democlass.classmethod(); //呼叫類方法

總結:1,物件方法是可以通過例項被呼叫的,無論是類內的屬性方法或者是原型方法構造的屬性方法。

2,類方法不能通過例項被呼叫,可以通過類名"."類方法()的模式呼叫。 類方法也叫靜態方法

0x03:繼承、封裝、多型

console.log(objoneson 

instanceof

oneson);

結果如圖:

如果使用prototype方法

console.log(objoneson 

instanceof

oneson);

結果如圖:

子類的方法會覆蓋父類的方法,即表現的是多型性

function fatherclass(name,age)

}function anotherson(name,age)

}anotherson.prototype = new fatherclass();

function threeson(name,age)

}threeson.prototype = new fatherclass();

function yes_or_no(cls)

}var objanotherson = new anotherson();

var objthreeson = new threeson();

yes_or_no(objanotherson);

yes_or_no(objthreeson);

結果如圖所示:

即實現了類的多型。

js物件導向及物件導向的三大特性

一 js物件導向程式設計 在es5中我們是這樣去寫物件導向的程式設計方式的 function person name this setname function name let p newperson 張三 p.getname 張三 p.setname 李四 p.getname 李四在es6中,提...

物件導向三大特性

什麼是物件導向呢?之前我們做一件事的時候,常常是確定,先幹什麼,然後怎麼做,最後可以完事了。其實我們不妨這麼想一下,我們做事的時候是可以這樣的 這件事中涉及了什麼物件角色?如果我要把這件事做成那麼就需要物件之間是如何協作的?第二種方法,就是今天說的物件導向的方法了,好處正在慢慢體會。今天我想說的物件...

物件導向三大特性

0x00 嘮嘮叨叨 只是做乙個概念的記錄 0x01 物件導向的三大特性 n 封裝 把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。類將成員變數和成員函式封裝在類的內部,根據需要設定訪問許可權,通過成員函式管理內部狀態。n 繼承 繼承所表達的是類...