主页 分类 关于

TypeScript类

TypeScript学习笔记

使用类

sdq是sdz是父类
class sdq{
content = "史迪奇"
sayHello(){
return this.content
}
}

sdz是sdq是子类
class sdz extends sdq{
sayHello(){
return super.sayHello()+'是小恶魔'
}
sayLove(){
return "史迪仔"
}
}


const goddess = new sdz()
console.log(goddess.sayHello())
console.log(goddess.sayLove())

publie private protected

类的内部和类的外部
class SDQ{
这里就是类的内部
name : string;
//相当于 publie name : string;
}

这里就是类的外部
const sdq = new SDQ()
sdq.name = '史迪奇'
console.log(sdq.name)

类的继承

继承前

class SDQ {
相当于1 public name : string;
constructor(public name : string){
相当于2 this.name = name
}
}

const sdq = new SDQ("我叫史迪奇")
console.log(sdq.name)

继承后

class SDQ {
constructor(public name : string){}
}

类的继承
class SDZ extends SDQ{
constructor(public bianhao:number){
super("史迪仔")
}
}

const sdz = new SDZ(626)
console.log(sdz.bianhao)

get和set

class SDQ {
constructor(public _age: number){}
get age(){
return this._age-10
}
set age(age:number){
this._age = age+3
}
}

const sdq = new SDQ(626)
sdq.age=25
console.log(sdq.age)

静态类

statc

class SDQ{
static MyName(){
return "我叫史迪奇"
}
}

console.log(SDQ.MyName())

抽象类

抽象类
abstract class sdq {
abstract skill()
}

抽象方法
class cifan extends sdq{
业务逻辑
skill(){
console.log("进食")
}
}

抽象方法
class shuijiao extends sdq{
业务逻辑
skill(){
console.log("睡觉")
}
}

抽象方法
class pohuai extends sdq{
业务逻辑
skill(){
console.log("破坏")
}
}

只读方法

class SDQ {
public readonly _name :string;
constructor(name:string ){
this._name = name;
}
}

const sdq = new SDQ('史迪仔')

// 无法分配到 "_name" , 因为它是只读属性
sdq._name= '史迪奇'
console.log(sdq._name)









作者: 我叫史迪奇
本文来自于: https://sdq3.link/TypeScript-class.html博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议