`

TypeScript语法基础 - 抽象类和多态

 
阅读更多

   1. 多态:父类定义一个方法不去实现,让继承它的子类去实现,每一个子类有不同的表示

class Animal{
	name:string;
	constructor(name:string) {
		this.name=name;
	}

	eat():void{
		console.log('吃的方法');
	}
}

//子类
class Dog extends Animal{
	constructor(name:string) {
		super(name);//初始化父类的构造函数
	}

	eat():string{
		return this.name+'吃肉';
	}
}

//子类
class Cat extends Animal{
	constructor(name:string) {
		super(name);
	}

	eat():string{
		return this.name+'吃老鼠';
	}
}

 

   2. typesctipt中的抽象类

/*
* typesctipt中的抽象类,他是提供其他类继承的基类,不能被实例化
* 用abstract关键字定义抽象类和抽象方法,抽象类中的抽象方法不包含具体事项并且必须在派生类中事项。
* abstract抽象方法只能放在抽象类里面
* 抽象类和抽象方法用来定义标准,标准: Animal这个类要求它的子类必须包含eat方法
* */
abstract class Animal{
	public name:string;
	constructor(name:string) {
		this.name=name;
	}

	abstract eat():any;

}

class Dog extends Animal {
	//抽象类的子类必须实现抽象类的里面的抽象方法
	constructor(name:any) {
		super(name);
	}

	eat(){
		console.log(this.name+'吃鱼头');
	}

}
var d=new Dog('王公子');

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics