首先先学习个类的修饰符readonly。
创建一个类,并实例化
class Person {
constructor(public name:'string'){ }
}
const person1 = new Person('mtg')
当想让name只可读不可写时,我们之前的做法是
class Person {
private _name:'string'
constructor(name:string){
this._name=name
}
get name = this._name
}
const person1 = new Person('mtg')
使用readonly,不可以修改。
class Person {
public readonly name:'string'
constructor(name:string){
this name=name
}
}
const person1 = new Person('mtg')
person1.name = ‘tmg’ // 报错
抽象类
抽象类是对某个集体抽象出一些公共的内容,方便继承。
如:人都有名字、性别、年龄、职业;教师有教龄;学生有年级、可以所有的人抽象一个类.
抽象类只能被继承,不能实例
abstract class Person {
name:string;
age:number;
sex:string
}
class Student extends Person{
school:string
}
const studentdemo = {
name:'mtg';
age:12;
sex:girl;
school:'小学'
}
const student1 = new Student(studentdemo)
抽象类中也可以继续定义抽象方法,在继承时就必须为抽象方法实现
abstract class Person {
name:string;
abstract xingzuo():string
}
class Student extends Person{
school:string;
xingzuo(){
return 'sss'
}
}
const studentdemo = {
name:'mtg';
age:12;
sex:girl;
school:'小学'
}
const student1 = new Student(studentdemo)