继承
abstract class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
abstract sayHello(): void;
}
class Dog extends Animal {
sayHello() {
console.log('汪汪汪汪!');
}
}
class Cat extends Animal {
sayHello() {
console.log('喵喵喵喵!');
}
}
const dog = new Dog('旺财');
dog.sayHello();
const smallCat = new Cat('小喵');
smallCat.sayHello();
ts 的 getter setter
(function () {
class Person {
private _name: string;
private _age: number;
constructor(name: string, age: number) {
this._name = name;
this._age = age;
}
get name() {
return this._name;
}
set name(value) {
console.log('set name()执行了!!');
this._name = value;
}
get age() {
return this._age;
}
set age(value) {
console.log('set age()执行了!!');
if (value >= 0) {
this._age = value
} else {
console.log('非法的年龄')
}
}
}
const per = new Person('name', 18);
per.name = '猪八戒';
per.age = -33;
console.log(per);
})();