1.泛型(generic) 参数化的类型,一般用来限制集合的内容
class Person7{
constructor(public name:string){ //明确要声明访问控制符
}
}
var workers:Array<Person7>=[];//Person是workers的泛型,规定数组中智能放Person类型的元素
workers[0]=new Person7('zhangsan');
workers[1]=new Employee3('李四','1');
workers[2]=3; //报错
2.接口Interface,用来建立某种代码约定,使得其它开发者在调用某个方法或创建新的类时必须遵循接口所定义的代码约定
【1】声明接口属性
//声明接口
interface IPerson{
name:string;
age:number;
}
class Person8{
constructor(public config:IPerson){
//接口被用作方法的参数类型
}
}
var p8=new Person8({
name:'zhansan',
age:12
})
【2】声明接口的方法,类实现接口的方法
interface Animal{
eat();
}
class Sheep implements Animal{
eat(){
console.log("i eat grass");
}
}
class Tiger implements Animal{
eat(){
console.log("i eat meat")
}
}