1.implements句子
类可以实现接口,使用关键字implements
可以使用一个implements子句来检查一个类,是否满足了一个特定的接口。如果一个类不能正确地实现它,就会发出一个错误
注意点:
实现一个带有可选属性的接口并不能创建该属性
只要一个接口继承了某个类,那么就会继承这个类中所有的属性和方法;但是只会继承属性和方法的声明,不会继承属―性和方法实现与extends 的区别
extends:继承某个类,继承之后可以使用父类的方法,也可以重写父类的方法
implements:继承某个类,必须重写才可以使用
export default{}
interface IPersonInfo{
name:string
age:number
sex:string
show():void
}
interface IMusic{
music:string
}
class Person implements IPersonInfo,IMusic{
name:string="了";
age:number=18
sex:string = "女"
music:string="不会"
show(){
console.log(`我是${this.name},年龄${this.age},先`);
}
}
let p=new Person()
p.show()
interface ITest extends Person{
salary :number
}
class Star extends Person implements ITest{
name:string = "关"
age:number=20
salary:number = 100000
}
let s=new Star()
console.log(s.name);
console.log(s.salary);
2.泛型
2.1 泛型的基本使用
泛型可以理解为宽泛的类型,通常用于类和函数。使用的时候我们再指定类型
泛型不仅可以让我们的代码变得更加健壮,还能让我们的代码在变得健壮的同时保持灵活性和可重用性
通过用<T>来表示,放在参数的前面
export default{}
const arr1:string[]=["html","ddss","dds"]
const arr2:Array<string>=["de","赵"];
const arr3:Array<number>=[1,2,3]
let res = new Array(3).fill("的")
console.log(r