1.Typescript中static詳解
靜態成員:在類中通過 static 修飾的屬性或者方法
那么就是靜態的屬性靜態方法
也稱之為:靜態成員(靜態成員包含靜態屬性和靜態方法)
靜態成員在使用的時候通過【類名.靜態屬性】來訪問
2.訪問和修改static靜態成員的小栗子
class Person{
// 類中默認有一個內置name屬性
// 靜態屬性myname
static myname:string='小可愛'
sayHi() {
console.log('sayHi')
}
}
const per = new Person();
// 訪問類中的靜態屬性
console.log(Person.myname);
// 修改類中的靜態屬性
Person.myname = '大可愛'
console.log(Person.myname);
//輸出[大可愛]
3.抽象方法
抽象類中包含抽象方法:(抽象方法一般【沒有任何具體內容】的實作)
抽象類中也可以包含實體方法
抽象類是不能夠被實體化
抽象類可以讓子類進行實體化以及實作內部所有的抽象方法
抽象類中也可以有抽象屬性
{但是在實際開發程序中抽象類中一班不會有抽象屬性}
我們知道了抽象類中可以包含:抽象屬性 抽象方法 實體方法
ps:子類繼承了抽象類,子類就必須實作抽象類中的抽象方法
4.寫抽象類的注意點
abstract class Animals{
// 這樣寫法是錯誤的,
// 因為抽象方法一般沒有任何具體內容的實作
// abstract eat (){
// console.log('跑著吃,跳著吃')
// }
abstract eat()
}
// 這樣的寫法是錯誤的,
// 因為:抽象類不能夠被實體化
// let dog=new Animals()
5.抽象類
abstract class Animals{
// 這樣寫法是錯誤的,
// 因為抽象方法一般沒有任何具體內容的實作
// abstract eat (){
// console.log('跑著吃,跳著吃')
// }
abstract eat()
abstract sleep();
// 抽象類中的抽象屬性
abstract myname: string
// 抽象方法也可以包含實體方法
say() {
console.log('你好啊')
}
}
// 子類繼承了抽象類,子類就必須實作抽象類中的抽象方法
class Dog extends Animals {
// 重新實作抽象類中的抽象方法
eat() {
console.log('我是狗,趴著吃')
}
// 重新實作抽象類中的抽象方法
sleep() {
console.log('我是狗,趴著睡')
}
// 實作抽象屬性
myname: string="狗子"
}
// 實體化
let xiaohei = new Dog();
// 直接呼叫方法
xiaohei.eat();//我是狗,趴著吃
// 呼叫的是抽象類中的實體方法
xiaohei.say();//你好啊
// 修改類中的屬性
xiaohei.myname = '小黃狗'
console.log(xiaohei)
// 輸出 Dog { myname: '小黃狗' }
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/289122.html
標籤:其他
