封裝將屬性或方法隱藏,對外開放介面。
在寫專案的時候,我們經常會在不同的地方需要用到相同的方法或屬性,倘若每個地方都要寫一遍,不僅**量大而且也會浪費我們的時間,這時候我們就可以將這些方法或屬性封裝起來
// 定義乙個運算的函式
class operation
// 寫乙個加法函式
add(x, y)
// 寫乙個減法函式
subtraction(x, y)
}// 需要的時候,我們只需要例項化就可以呼叫寫好的函式
let num = new operation()
console.log(num.add(1,5)) // 6
console.log(num.subtraction(1,5)) //-4
子類可以繼承父類的屬性和方法,而不需要再次編寫,子類也可以有自己的屬性和方法
// 定義乙個父類,裡面存在乙個說話的方法
class person
say(name, age),今年$歲`
}}// 例項化父類並呼叫方法
let people = new person()
console.log(people.say('小明',14))
// 定義乙個字類繼承父類
class exercise extends person
// 定義乙個愛好的方法
like(name, love),我喜歡$`
}}// 例項化子類
let children = new exercise()
// 子類的例項化物件可以直接呼叫父類的方法
console.log(children.say('小花', 11))
// 子類的例項化物件呼叫自己的方法
console.log(children.like('小花', '寫**'))
字面意思即『多種狀態』,可以理解為相同的方法,相同的引數,結果不同
多型的表現形式重寫與過載
子類繼承父類後可以使用父類的方法,當子類想用父類的方法但需要一些改變時,子類可以對父類的方法進行重寫
// 定義乙個父類,裡面存在乙個說話的方法
class person
say(name, age),今年$歲`
}}// 例項化父類並呼叫方法
let people = new person()
console.log(people.say('小明',14)) // 我叫小明,今年14歲
// 定義乙個字類繼承父類
class exercise extends person
// 重寫父類說話方法
say(name, age),今年$歲`
}}// 例項化子物件
let children = new exercise()
// 呼叫重寫方法
console.log(children.say('小花', 11)) // 你好,我是小花,今年11歲
相同的方法,接收的引數不同,返回的結果不一樣
嚴格來講,js並沒有過載的概念,但我們可以進行模擬
// 定義乙個類,通過判斷引數的型別來返回不同的結果
class person
}}new person(123) // 數字
new person('abc') // 字串
new person(true) // 布林
最後,關於封裝、繼承、多型還有很多更細的知識沒有寫到,這次只是簡單的了解,以後會詳細的介紹每乙個o( ̄▽ ̄)ブ
封裝,繼承,多型
一 1 封裝 該隱藏隱藏,該公開的公開 屬性隱藏,同時提供get set方法 有些方法應該隱藏 方法宣告公開,實現隱藏。實現的改變對架構的影響最小 2 繼承 一般 特殊 單繼承 乙個類最多只能有乙個直接父類。類之間可以形成樹狀關係 根據訪問許可權,子類如果可以訪問父類的屬性和方法,就能繼承 priv...
繼承 封裝 多型
一 封裝 封裝是實現物件導向程式設計的第一步,封裝就是將資料或函式等集合在乙個個的單元中 我們稱之為類 被封裝的物件通常被稱為抽象資料型別。封裝的意義 封裝的意義在於保護或者防止 資料 被我們無意中破壞。在物件導向程式設計中資料被看作是乙個中心的元素並且和使用它的函式結合的很密切,從而保護它不被其它...
封裝 繼承 多型
一 封裝 封裝是實現物件導向程式設計的第一步,封裝就是將資料或函式等集合在乙個個的單元中 我們稱之為類 被封裝的物件通常被稱為抽象資料型別。封裝的意義 封裝的意義在於保護或者防止 資料 被我們無意中破壞。在物件導向程式設計中資料被看作是乙個中心的元素並且和使用它的函式結合的很密切,從而保護它不被其它...