Skip to main content

继承



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);
})();