物件導向理解

2022-09-11 23:06:24 字數 2148 閱讀 2751

物件導向的概念:

理解物件導向首先要理解類的概念,通過類可以建立多個具有相同屬性和方法的物件。但在ecmascript當中並沒有類的概念,因此它的物件也與給予類的語言中的物件有所不同。

物件理解:

1.建立自定義物件:就是建立乙個object的實力,然後再為它新增屬性和方法,如下所示。

var person=new object();

person.name="a"

person.age=29;

persin.job="teacher"

person.sayname=function(){

alert(this.name)    

2.字面量語法:

var person={

name="a",

age=29,

job="teacher"

sayname=function(){

alert(this.name)    

雖然上述兩種物件構造方法可以構造單個物件,但是如使用同一介面構造多個物件是就會產生大量的重複的**,為了解決這個問題,人們開始使用多種一口多建的方法建立,例如工廠模式、建構函式模式、原型模式等。

㈠工廠模式

工廠模式是軟體工程領域一種廣為人知的設計模式,這種模式抽象了建立具體物件的過程,考慮到在ecmascript中無法建立類,開發人員就發明了一種函式,用函式來封裝以特定的介面建立物件的細節。如下所示。

fuction createperson(name,age,job){

var o=new object();

o.name=name;

o.age=age;

o.job=job;

o.sayname=fuction(){

alert(this.name)

return o;

var person1=createperson("xiaohong","doctor","23")

var person2=createperson("liudong","teacher","28")

工廠模式雖然解決了建立多個相似物件的問題,但卻沒有解決物件識別的問題(既怎樣知道乙個物件的型別)。於是乎,又乙個新模式出現了。那就是建構函式模式。

㈡建構函式模式

像object、array.這樣的原生建構函式在執行是會自動出現在執行函式中。此外也可以自定義的建構函式,從而定義自定義的物件型別的屬性和方法。例如可已使用建構函式的弄濕將前面的例子重寫如下。  

fuction person(name,age,job){

this.name=name;

this.age=age;

this.job=job;

this.sayname=fuction(){

alert(this.name)

var person1=new person("xiaohong","doctor","23")

var person2=new person("liudong","teacher","28")

在這個例子中,我們可以注意到兩個建立物件函式的相同之處外,還可以注意到不同之處。

1.沒有顯示地建立物件。

2.直接將屬性和方法賦給了this物件

3.沒有return語句。

㈢原型模式

我們建立的每乙個函式都有prototype屬性,這個屬性是乙個指標,執行乙個物件,而這個物件的用途是包含可以有特定型別的所有例項共享的屬性和方法。使用原型物件的好處是可以讓所有物件例項共享它所包含的屬性和方法。如下面的例子所示。

function person(){

person.prototype.name="a";

person.prototype.age=29;

person.prototype.job="teacher";

person.prototype.sayname=function(){

alert(this.name);

var person1=new person();

person1.sayname();//"a"

在此,我們將sayname()方法和所有 的屬性直接新增到了person的prototype屬性中,建構函式變成了空函式。即使如此,也仍然可以通過建構函式來建立新物件,而且新物件還會具有相同的屬性和方法。但與建構函式模式不同的是,新物件的這些屬性和方法是由所有例項共享的。

理解物件導向

三個基本特徵 封裝,繼承,多型 封裝 將物件的實現細節隱藏起來,然後通過一些公用方法來暴露該物件的功能 使用訪問控制符 private default protected public private 當前類訪問許可權 default 包訪問許可權 protected 包 子類 public 公共訪...

理解物件導向

要理解物件導向。則要知道類和物件的關係。類是具備某些共同特徵的實體的集合 把資料和對資料的操作方法放到一起,相互依存的集合就叫做物件。物件的抽象是類,類的具體化就是物件,也可以說類的例項是物件。比如在現實世界中,人類就是乙個類,具體到實體的某乙個人,這個人就是人類這個類中具體化的乙個物件。而這個人的...

理解物件導向

一切事物皆物件。j ascript中的物件導向是基於原型 prototype 的方式。舉個例子 工廠裡生成汽車,工人和機器 相當於constructor構造器 通過各種零部件 相當於prototype屬性 來構造汽車。物件宣告 1.字面式 var person person.height 176 建...