JS面向對象概念簡介,適合前端入門的知識知識

Encapsulation 封裝

對於所有繼承自父類的方法,只需要在子類中定義那些你想改變的即可。

Abstraction 抽象

抽象是允許模擬工作問題中通用部分的一種機制。這可以通過繼承(具體化)或組合來實現。

JavaScript通過繼承實現具體化,通過讓類的實例是其他對象的屬性值來實現組合。

JavaScript Function 類繼承自Object類(這是典型的具體化) 。Function.prototype的屬性是一個Object實例(這是典型的組合)。

Polymorphism 多態

就像所有定義在原型屬性內部的方法和屬性一樣,不同的類可以定義具有相同名稱的方法;方法是作用於所在的類中。並且這僅在兩個類不是父子關係時成立(繼承鏈中,一個類不是繼承自其他類)。

面嚮對象語言的要求

一種面嚮對象語言需要向開發者提供四種基本能力:

封裝 - 把相關的信息(無論數據或方法)存儲在對象中的能力

聚集 - 把一個對象存儲在另一個對象內的能力

繼承 - 由另一個類(或多個類)得來類的屬性和方法的能力

多態 - 編寫能以多種方法運行的函數或方法的能力

ECMAScript 支持這些要求,因此可被是看做面向對象的。

對象的構成

在 ECMAScript 中,對象由特性(attribute)構成,特性可以是原始值,也可以是引用值。如果特性存放的是函數,它將被看作對象的方法(method),否則該特性被看作對象的屬性(property)。

面向對象程序設計的目的是在編程中促進更好的靈活性和可維護性,在大型軟件工程中廣為流行。憑藉其對模塊化的重視,面向對象的代碼開發更簡單,更容易理解,相比非模塊化編程方法 1, 它能更直接地分析, 編碼和理解複雜的情況和過程。

編程是一種修行,我願與志同道合的朋友攜手前行,一起探索有關編程的奧妙!

如果您在前端學習的過程中遇到難題,歡迎【關注】並【私信】我,大家一起交流解決!

文章推薦:


分享到:


相關文章: