Typescript 物件導向

2021-10-17 08:01:30 字數 1937 閱讀 7471

類 (class)

class

animal

sat()}

/* * -- animal為父類, dog為子類

* * -- 使用繼承後,子類將會擁有父類所有的方法和屬性

* * -- 通過繼承可以將多個類中共有的**,寫在乙個父類中

* -- 如果在子類中新增了父類相同的方法,則會覆蓋(方法重寫)

*/// 使用dog類繼承animal類

class

dogextends

animal

以abstract開頭的類是抽象類

抽象類和其他類區別不大,只是不能用來建立物件

抽象類就是專門用來被繼承的類

抽象類中可以新增抽象方法,

abstract

sayh()

:void

;

介面用來定義乙個類結構,用來定義乙個類中應該包含哪些屬性和方法

同時介面也可以當成型別宣告去使用

介面可以在定義類的時候去限制類的結構

介面中的所有屬性都不能有實際的值,介面只定義物件的結構,而不考慮實際值

在介面中,所有的方法都是抽象方法

inte***ce

myinter

// 定義類時,可以使類去實現介面

class

mycalss

implements

myinter

sayh()

}

// 定義類時,可以使類去實現介面

/** * 現在屬性是在物件中設定的,屬性可以任意修改的

* * 屬性任意修改,將會導致物件中的資料變得非常不安全

*/class

mycalss

implements

myinter

sayh()

}let obj: myinte***ce;

obj =

class

persons

// // 定義乙個方法 用來獲取name

// getname()

// //定義方法,用來設定name屬性

// setname(value: string)

// ts中設定getter方法的方式

getname()

setname

(value:

string

)set

age(value:

number)}

}

class

c}

function fn

(a:k)

:k //可以直接呼叫具有泛型的函式fn(

10)// ts可以自動對型別進行推斷

fn<

string

>

('hello'

)// 指定泛型

function fn2k>

(a:t

, b:k)

:t// 繼承介面

inte***ce

inter

function fn3<

kextends

inter

>

(a:t):

number

fn3(

'hello'

)class

myclass

<

t>

}const mc =

newmyclass

<

string

>

('jin'

)

物件導向 初識物件導向

面向過程思想 步驟清晰簡單,第一步做什麼,第二步做什麼.面向過程適合處理一些較為簡單的問題 物件導向思想 物以類聚,分類的思維模式,思考問題首先會解決問題需要分哪些類,然後對這些類進行單獨思考,最後才是對某個分類下的細節進行面向過程的思索 物件導向適合處理複雜的問題,適合處理需要多人協作的問題 對於...

物件導向程式設計01 面向過程 物件導向

前面12講我已經寫完了從零開始學j ase 慶祝完結撒花!那麼從今天開始正式步入物件導向程式設計。建議開啟本章之前先回顧 j ase010方法詳解和 j a變數與方法的呼叫 同類操作中與跨類操作中的對比 物件導向程式設計 oop object oriented programming 物件導向程式設...

物件導向過程與物件導向

物件導向過程與物件導向 1 程式的發展經歷了兩個階段 面向過程 物件導向。2 對於物件導向與面向過程可以用乙個例子解釋,如乙個木匠要做乙個盒子,那麼這個盒子的出發點會有兩種方式 物件導向 先想好要做的盒子,之後在去找相應的工具去做。面向過程 不去想要做什麼樣的盒子,隨需取工具。物件導向三大特徵 封裝...