class Person { public name:string // 公开可访问 protected age:number // 受保护的,继承它的子类可以访问,实例不能访问。 private sex:string // 私有,不可访问,它的实例和继承它的子类都访问不到 hight:string constructor(name:string,age:number,sex:string,hight:string){ this.name = name; this.age = age; this.sex = sex; this.hight = hight; } say(a:string):string{ return 我叫你干啥来着{a}`;
}
}`
`
const p1 = new Person('张三', 12,'男','186cm');
console.log(p1.say('干饭呀'));
`
`// 继承Person 的类
class Student extends Person{
say(a:string):string{
// protected age,子类可以访问, 实例不能访问age属性;
return `我是学生,名字叫{a}, ${this.age}`;
}
}
// 继承Person类后, 将会拥有Person 中的类和方法;
const s = new Student('张三', 12,'男','186cm');
console.log(s.say('干活呀'));
class Student1 extends Person{ studyNumber: string constructor(name:string,age:number,sex:string,hight:string,studyNumber:string){ // 注意,上例中 Student 类没有定义自己的属性,可以不写 super , // 但是如果 Student1 类有自己的属性,就要用到 super 关键字来把父类的属性继承过来。 // 比如,Student 类新增一个 studyNumber(学号) 属性,就要这么写: super(name,age,sex,hight) this.studyNumber = studyNumber; } } const s1 = new Student1('张三', 12,'男','186cm','20152204142') console.log(s1);`