第六章 物件導向的程式設計

2021-08-14 23:18:57 字數 2571 閱讀 6833

ecmascipt有兩種屬性:資料屬性和訪問屬性。

資料屬性

資料屬性有四個特性:

》configurable:表示能否通過delete刪除屬性從而重新定義屬性

》enumerable:表示能否通過for-in迴圈返回屬性

》writeable:表示能否修改屬性的值

》value:屬性的值

要修改屬性預設的特性,必須使用 ecmascript 5的object.defineproperty()方法。

這個方法 接收三個引數:屬性所在的物件、屬性的名字和乙個描述符物件。

訪問屬性

訪問器屬性不包含資料值;它們包含一對兒 getter和 setter函式(不過,這兩個函式都不是必需的)。  

在讀取訪問器屬性時,會呼叫 getter函式,這個函式負責返回有效的值;在寫入訪問器屬性時,會呼叫 setter函式並傳入新值

》configurable:表示能否通過delete刪除屬性從而重新定義屬性

》enumerable:表示能否通過for-in迴圈返回屬性

》get :讀取屬性呼叫的函式,預設值undefined

》set :寫入屬性呼叫的函式,預設值undefined

訪問器屬性不能直接定義,必須使用object.defineproperty()來定義

var 

book =

;object

.defineproperty

(book

,'year'

,,set

:function

(newvalue

) })

book

.year=

2005

;alert

(book

.edition);

_year 前面 的下劃線是一種常用的記號,用於表示只能通過物件方法訪問的屬性。

上面看到的只是針對單個屬性的操作,但是實際操作中我們需要的是對物件的多個屬性進行相關操作,所以現在es5有定義了一

個方法object.definedproperties().

var 

book =

{};object

.defineproperties

(book

, ,

edition:

,year:

,set

: function

(newvalue

)

}

}});

讀取屬性的特性

使用 ecmascript 5的 object.getownpropertydescriptor()方法,讀取的是上面提到的資料屬性和訪問器屬性。建立物件

》工廠模式:就是利用函式來封裝以特定介面建立物件。

function 

createperson

(name

, age

, job

);

return o;

}var

person1 = createperson

("nicholas"

, 29

, "software engineer"

); var

person2 = createperson

("greg"

, 27

, "doctor"

);

工廠模式雖然解決了建立 多個相似物件的問題,但卻沒有解決物件識別的問題(即怎樣知道乙個物件的型別)

》建構函式模式:重寫上面的例子

function 

person

(name

, age

, job

);

}var

person1 =

new

person

("nicholas"

, 29

, "software engineer"

); var

person2 =

new

person

("greg"

, 27

, "doctor"

);

person()函式取代了 createperson()函式。我們注意到,person()中的** 除了與 createperson()中相同的部分外,

還存在以下不同之處:

 沒有顯式地建立物件;

 直接將屬性和方法賦給了 this 物件;

 沒有return 語句。

函式名 person 使用的是大寫字母 p。按照慣例,建構函式始終都應該以乙個 大寫字母開頭,而非建構函式則應該以乙個小

寫字母開頭。

python程式設計第六章物件導向程式設計 題庫

python程式設計題庫完整版 python程式設計第一章基礎知識 題庫及選解 python程式設計第二章序列型別 題庫及選解 python程式設計第三章選擇與迴圈 題庫及選解 python程式設計第四章字串 題庫及選解 python程式設計第五章函式設計與應用 題庫及選解 python程式設計第六...

程式設計第六章總結

一 主要內容摘要 1 for語句 for 表示式1 表示式2 表示式3 迴圈體語句 用途 在迴圈頂部進行迴圈條件測試,如果迴圈條件第一次迴圈就為假,則迴圈體一次也不執行,即用於實現當型迴圈控制結構。適用於迴圈次數已知 技術控制的迴圈。例 輸出1 100之間所有偶數 include using nam...

java筆記第六章之物件導向

第六章 物件導向 物件 什麼是物件 一切客觀 不一定看的見摸的著 存在的事物都是物件,物件的組成部分 1,屬性 2,方法 物件的屬性可以又是乙個物件 計算機中的物件 一塊連續的儲存空間 類是什麼 1.類是大量物件共性的抽象 2,類是客觀事物在人腦中的主觀反映 3,類是建立物件的模板 類是主觀存在,物...