TypeScript 類class與修飾符的詳細(xì)使用教程
一、簡(jiǎn)介
通過(guò) class 關(guān)鍵字定義一個(gè)類,然后通過(guò) new 關(guān)鍵字可以方便的生產(chǎn)一個(gè)類的實(shí)例對(duì)象,這個(gè)生產(chǎn)對(duì)象的過(guò)程叫 實(shí)例化,類的成員就是類中所有的屬性和方法。
// 定義類
class Person {
// 名稱
name: string
// 年齡
age: number
// 構(gòu)造函數(shù)
constructor(name: string, age: number) {
// 更新熟悉數(shù)據(jù)
this.name = name
this.age = age
}
}
// 發(fā)送一個(gè)人的信息
function sendPerson (person: Person) {
console.log(`姓名:${person.name},年齡:${person.age}`)
}
// 實(shí)例化對(duì)象
const p = new Person('dzm', 20)
sendPerson(p) // 名稱:dzm,年齡:20實(shí)例在new出來(lái)的時(shí)候,它實(shí)際是調(diào)用了類中的一個(gè)方法進(jìn)行初始化,這個(gè)方法被叫做構(gòu)造器,一般都會(huì)在類中顯示地寫(xiě)上 constructor 方法,如果沒(méi)有顯示定義的 constructor,就會(huì)調(diào)用系統(tǒng)自帶的 constructor 構(gòu)造函數(shù)。
二、成員修飾符
訪問(wèn)修飾符的作用就是用于限制別人亂用類中的東西
訪問(wèn)修飾符
public:公開(kāi)的,誰(shuí)都能用(默認(rèn)就是public)private:私有的,僅類自己能使用,子類與外部都不能使用protected:受保護(hù)的,僅類和類的子類能使用,外部不能使用
// 定義類
class Person {
// 公開(kāi)參數(shù)
name: string
// 公開(kāi)參數(shù)
public age: number
// 私有參數(shù)
private num:number = 10
// 內(nèi)部參數(shù)
protected num1: number = 20
// 構(gòu)造函數(shù)
constructor(name: string, age: number) {
// 更新熟悉數(shù)據(jù)
this.name = name
this.age = age
}
// 發(fā)送個(gè)人信息
public send() {
console.log('發(fā)送成功1')
}
// 私有方法
private post() {
console.log('發(fā)送成功2')
}
}
只讀修飾符
readonly:只能讀不能寫(xiě)
class Person {
// 聲明賦值
readonly name = 'dzm'
}
let p = new Person()
console.log(p.name)
// 不能賦值
// p.name = 'xxx'
readonly 只能在 constructor 構(gòu)造方法初始化時(shí)賦值,或者聲明時(shí)賦值,之后都不能在修改值。
class Person{
readonly name: string
// 構(gòu)造初始化賦值
constructor(name: string) {
this.name = name
}
}靜態(tài)修飾符
static:靜態(tài)成員無(wú)需實(shí)例化,直接通過(guò)類名調(diào)用
// 定義類
class Person {
// 公開(kāi)參數(shù)
name: string
// 公開(kāi)參數(shù)
public age: number
// 靜態(tài)參數(shù)
static num:number = 10
// 構(gòu)造函數(shù)
constructor(name: string, age: number) {
// 更新熟悉數(shù)據(jù)
this.name = name
this.age = age
}
// 發(fā)送個(gè)人信息
static send() {
console.log('發(fā)送成功')
}
}
// 不需要實(shí)例化對(duì)象,通過(guò)類名就能進(jìn)行訪問(wèn)
console.log(Person.num)
Person.send()總結(jié)
1、上面總共分為三種類型修飾符:訪問(wèn)修飾符、只讀修飾符、靜態(tài)修飾符。
2、修飾符是可選的,在沒(méi)有寫(xiě)任何修飾符的情況下,默認(rèn)為 public。
3、同類型修飾符只能有一個(gè),也就是上面 三種修飾符 可以組合起來(lái)修飾一個(gè)成員。
4、三種類型修飾符有先后順序,分別是:訪問(wèn)、靜態(tài)、只讀,即:public/static/protected、static、readonly
到此這篇關(guān)于TypeScript 類class與修飾符的詳細(xì)使用的文章就介紹到這了,更多相關(guān)TypeScript 類class內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js HTML5多圖片上傳及預(yù)覽實(shí)例解析(不含前端的文件分割)
這篇文章主要詳細(xì)解析了js HTML5多圖片上傳及預(yù)覽實(shí)例,不含前端的文件分割,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
使用JavaScript判斷圖片是否加載完成的三種實(shí)現(xiàn)方式
有時(shí)需要獲取圖片的尺寸,這需要在圖片加載完成以后才可以,本文有三個(gè)不錯(cuò)的實(shí)現(xiàn)方式在此與大家分享下2014-05-05
javascript實(shí)現(xiàn)的圖片預(yù)覽功能
這篇文章主要介紹了javascript實(shí)現(xiàn)的圖片預(yù)覽功能,結(jié)合實(shí)例形式分析了javascript針對(duì)圖片預(yù)覽相關(guān)功能實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2017-03-03
js的函數(shù)的按值傳遞參數(shù)(實(shí)例講解)
下面小編就為大家分享一篇js的函數(shù)的按值傳遞參數(shù)的實(shí)例,具有很好的參考價(jià)值,一起跟隨小編過(guò)來(lái)看看吧,希望對(duì)大家有所幫助2017-11-11
JS基于面向?qū)ο髮?shí)現(xiàn)的拖拽庫(kù)實(shí)例
這篇文章主要介紹了JS基于面向?qū)ο髮?shí)現(xiàn)的拖拽庫(kù),以實(shí)例形式分析了JavaScript設(shè)置水平、垂直拖拽及限制拖拽范圍的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09

