物件導向的理解和使用

2021-07-25 17:56:02 字數 1538 閱讀 3002

沒有任何程式語言的人剛開始接觸物件導向是有些難以理解的。我雖然在讀大學的時候學過很多程式語言,但那時還真是不理解物件導向到底是個什麼鬼。現在從事前端工作,並且涉及到後端,所以,現在才開始懂了物件導向。

方法1:採用json方法

var obj=

};

方法2:採用物件導向的方法

採用物件導向的方法其實就是通過new object()關鍵字來建立物件。雖然很多人不贊成使用這個方法,但是我在程式設計的時候常常會使用。

var obj=new object();

obj.name=』william』;

obj.like=』dancing』;

obj.work=function();

方法3:通過建構函式的方法構造物件

函式、屬性都是物件。這個方法是講函式物件當作建構函式來使用。建構函式的首字母要大寫。

function star()

} var s1=new star(); //this指向了s1

s1.name=』feng』;

s1.work();

this可以直接用來新增屬性。建立完建構函式後,使用時需要new例項化。

第三種方法目前來說是一種好的方法,但是這也存在乙個缺點,就是物件的內部函式會在每個物件中都存放。當我們需要建立很多物件時,會浪費很多記憶體空間。這就不是乙個好的**。因為函式的行為是所有物件公用的,不需要每個物件都儲存。所以,可以把函式放到原型,所有物件都有了公共的函式,而且記憶體中只保留乙份,這樣就極大減少記憶體。

方法3優化1

將屬性放在建構函式中,把方法放在原型物件中

function star(sname,slike,sdes)

star.prototype=function()

};

但是,在實際專案中,常常會有引數的個數或者順序發生變化的話,那麼這個函式就沒有任何作用了。通過乙個引數將所有的屬性覆蓋

function star(option)

star.prototype=function(),

init:function(){}

};

方法3優化2-終極

this.name=option.name,

this.like=option.like,

this.des=option.des

這些是初始化**,將初始化的**放在原型的init方法中

function star(option)

star.prototype=function(),

init:function(option);

以上是暫時對物件導向的理解,後續繼續更新。

物件導向的理解 和 類

物件導向的理解 和 類 萬物皆物件 類是抽象 的 比如 人類 看得到摸得到嗎 命名規範 查 類定義 屬性方法 public class person 在同乙個目錄下不用匯入 public test同乙個類宣告的不同物件儲存在不同的儲存空間 同乙個類的不同物件共享累的方法 無參無返回 這些個有參無參什...

物件導向的理解

今天發現一本好書,設計模式精解,作者是alan shalloway和james r.trott,薄薄的一本,但是講的很清楚,也讓我對物件導向和設計模式有了多一點的理解。記得去三星實習生面試的時候面試過就問過乙個問題,談談對物件導向的理解,我當時就只說了乙個多型,而且感覺沒有條理,所以今天趁著看過書,...

物件導向的理解

1.物件導向的思想 誰擁有資料,誰就提供運算元據的方面。eg1 售票員統計票上的資料這個過程中統計方法是票據提供的。eg2 兩塊石頭磨成一塊石刀,石刀砍樹,砍成木材,木材又變成椅子 eg3.乙個小球從繩子一端移到至另一端。就第二個例子而言,石頭變成石刀,這個變成的方法不應該是石頭提供的,因為一般沒有...