TypeScript 类
一、类
1、注意
构造函数、实例化对象(new)
2、案例
class Person{ name:string age:number // 构造方法 constructor(name:string, age:number){ this.name = name this.age = age } // 方法 introduce(){ console.log(this.name+"----"+this.age); } } let p1 = new Person('jojo', 20) console.log(p1.name); p1.introduce()
二、继承
1、注意
继承(extend)、super()、方法重写(override)
2、案例
class Person{ name:string age:number // 构造方法 constructor(name:string, age:number){ this.name = name this.age = age } // 方法 introduce(){ console.log(this.name+"----"+this.age); } } let p1 = new Person('jojo', 20) console.log(p1.name); p1.introduce() class Student extends Person{ grade:string // 构造方法 constructor(name:string, age:number, grade:string){ // 继承 super(name, age) this.grade = grade } override introduce(): void { console.log(`${this.name}==${this.age}==${this.grade}`); } showGrade(){ console.log(this.grade); } } let s1 = new Student('kk', 8, '五年级') s1.introduce() s1.showGrade()
三、修饰符
1、特点
public 可以内部使用,可以继承,可以外部使用
protected 可以内部使用,可以继承,不能外部使用
private 只能内部使用,不能继承,不能外部使用
2、使用修饰符 可以简写
3、案例
class Person{ // 简写 constructor(public name:string, public age:number){} // 内部可以使用,可以被继承,不能在外部使用 protected introduce(){ console.log(this.name+","+this.age); } } let p1 = new Person("jojo", 9527) console.log(p1.age); // p1.introduce() class Student extends Person{ // 简写构造函数 constructor(public name:string, public age:number, public score:number){ super(name, age) } showScore(){ console.log(this.score); this.introduce() this.win() } // 只能在内部使用,不能继承,不能在外部使用 private win(){ console.log("好想休息,好累"); } } let s1 = new Student("fake", 9857, 0) console.log(s1.name); s1.showScore()