面向对象的三大特征:封装、继承、多态
一、函数重载
相同的函数名称,不同的参数、返回值。
在同一个类中存在多个函数,函数名称相同但参数列表不同。
if (typeof url=="string"){ alert("是个字符串"); }
二、继承
class people{ name:string; age: number; constructor(name:string,age:number){ this.name = name; this.age = age; } showInfo(){ return this.name + ",今年"+ this.age ; } } class student extends people{ school:string; constructor(name:string,age:number,school:string){ super(name,age); //父类构造方法,必须先调用 this.school =school; }; showInfo(){ return this.name + "来自"+ this.school + ",今年"+ this.age ; } } var st1= new student("张三丰",18,"武当山武校"); console.log(st1.showInfo()); //张三丰来自武当山武校,今年18 showInfo方法先调用子类的,子类没有,才去父类中找。 实际运用中,父类和子类的方法,一般情况下最好另起新名,不要同名(重载除外)。
ts只支持单根继承。
三、多态
在继承中,子类和父类的:方法名相同,参数或返回值不同。