物件導向之先理解物件

2021-10-01 21:51:14 字數 1954 閱讀 7099

屬性分為:資料屬性和訪問器屬性。都有四個描述其行為的特性。

若採用物件字面量,或者new object()定義的物件屬性。上述1,2,3屬性預設值為true。

若採用object.defineproperties(),或者object.defineproperty()建立乙個新的屬性。上述1,2,3屬性預設值為false。若是重新定義乙個已有的屬性,則無此限制。

function

person

(name, age)

person.prototype =

console.

log(person.prototype)

;

預設的,constructor屬性是不可列舉的,上述重寫後,會變為可列舉的。因此,應該如下設定:

object.

defineproperty

(person.prototype,

'constructor'

,)

function

person

(name, age)

person.prototype =

const obj =

newperson

('ha',12

);

建構函式模式用於定義例項自己的屬性,原型模式用於定義共享方法和共享屬性。

注意:該組合模式,可以解決原型模式中原型中含有引用型別值的問題。將屬性值為引用型別的屬性放在建構函式中。

function

person

(name, age)

person.prototype =

}const person1 =

newperson

('ha',12

);

function

car(owner)

}function

person

(name, age)

person.prototype =

newcar()

const person1 =

newperson

('ha',12

);

兩種方法:

function

parent

(height)

function

child

(name, age, height)

function

parent

(name)

parent.prototype.

sayname

=function()

function

child

(name, age)

child.prototype =

newparent()

; child.prototype.constructor = parent;

child.prototype.

sayage

=function()

const instance1 =

newchild

('ha',12

);

/**

* @description: 寄生組合式繼承

* @param child 子類建構函式, parent 父類建構函式

* @return:

* @author: huangan

*/function

inheritprototype

(child, parent)

理解物件導向

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

理解物件導向

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

物件導向理解

物件導向的概念 理解物件導向首先要理解類的概念,通過類可以建立多個具有相同屬性和方法的物件。但在ecmascript當中並沒有類的概念,因此它的物件也與給予類的語言中的物件有所不同。物件理解 1.建立自定義物件 就是建立乙個object的實力,然後再為它新增屬性和方法,如下所示。var person...