物件導向
一、程式設計正規化:
1.命令式程式設計,2.宣告式
命令式程式設計的思想:面向過程,物件導向。宣告式的思想:dsl(領域特定語言)
命令式程式設計的定義:告訴計算機以什麼指令來執行**。注重中間過程。
宣告式的定義:告訴計算機想要什麼結果就讓計算機自己去執行。不需要關心過程。
面向過程:一步一步的向下執行。
物件導向:看待任何東西,先看待特徵、行為。(接近人的思維)
二、產生物件的方法:
1.基於類的物件導向
2.基於原型的物件導向
物件是類的例項,類是物件的抽象。類不是真實存在的。js中沒有的類的概念,js是通過原型物件導向。js是通過原型拷貝出來的。每乙個物件都有乙個原型,原型也是物件。
三、js中構建物件的方法:
1.字面量物件(json格式)例如:
var stu=
}建構函式:構造物件,1>首字母大寫,用this,此時this指向物件。
var student=
}var xm=new student("小明",20); //我們用new呼叫函式
xm.learn();
同一建構函式構造的物件,它們的原型是一樣的,
xm.constructor(建構函式本身)
四、為建構函式動態新增屬性:
1.在建構函式中新增屬性。
得到函式原型:1.student.prototype.gender="男";
2.xm.__proto__(指向各自原型)
xm.__proto__ == student.prototype(true)
xm.__proto__和student.prototype兩者的區別:
1>通過建構函式名,prototype可以讀也可以屬性。
物件.__proto__只可以讀不可以屬性。
2>prototype只能訪問在自身,不能向上訪問。__proto__可以向上追逐到向上的原型。
3.建構函式+原型:
student.prototype.learn=function()
屬性寫在建構函式中,方法寫在原型中。
var student=
4.工廠方法
5.改進式建構函式+原型
在建構函式中用if(!student._init)
student._init=true; //給物件——init賦值
}五、垃圾**器(gc)
定義:判斷物件是否被其他所引用,把沒有在引用的物件,有很大機率被關閉。(不斷迴圈)
缺點:自動管理,不能人為管理。
但是,js中,可以把不用的變數設為stu=null;那麼乙個物件不能太大。
一旦垃圾**器太忙,處理不過來,網頁等會就會卡住 ,一旦它空閒了,網頁就會恢復。
六、物件的運算子
1.new
2.delete(刪乙個物件的屬性)。例如:delete xm.name.
如果刪原型的東西必須要原型裡有。才能刪除。
七、物件的語句
1.with
例如:with(xm) //xm是乙個物件。 with對效率影響很大,不建議使用。
2.for..in(迴圈乙個物件裡的屬性)
for(var k in xm)
物件導向知識理論
1.什麼是類?什麼是物件?類和物件的關係是什麼?2.類的方法中,有返回值和無返回值分別什麼時候使用?3.break,continue,return的作用分別是什麼?4.成員變數和區域性變數區別?作用域不同 初始值不同 5.形參和實參的特點?6.導包的快捷鍵?7.抽象出類的三個步驟?a.找出它的種類b...
物件導向理論總結
閱讀物件導向葵花寶典總結 物件導向中,最基礎的就是抽象。類 一組相似事物的統稱。站在不同的角度,物體會被認為,或者被抽象為不同的類。類包含 屬性和行為。名詞是屬性,動詞是方法。屬性的設計原則 屬性不可再分。方法設計原則 方法單一化原則。物件 物件是具體的類,真實存在的類。抽象 抽取比較像的部分出來。...
(一)PHP物件導向理論1 類
版本 php5.6 一 php物件導向理論 1 物件導向 將物件做為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性 靈活性和可擴充套件性。2 類是物件的抽象組織,物件是類的具體存在。3 類是對一組物件的描述。4 類的詳述 a.類定義了一系列的屬性和方法,並提供了實際的操作細節以對所含屬性進...