//参数接口 设定一个标准,这个参数以后只能传这两个参数
interface FnName{
name:string;
age:number;
}
function getName(obj:FnName):void{
console.log(obj,'obj');
}
getName({name:'张三',age:24});
//函数接口
interface Fun{
(name:string):string
}
let getName1:Fun=function(name:string):string{
return name;
}
console.log(getName1('小明'));
//数组可索引接口
interface arrayFn{
[index:number]:string;
}
let arr:arrayFn=['1','2','3'];
console.log(arr,'arr');
//对象可索引接口
interface objFn{
[index:string]:string
}
let obj:objFn = {name:'张三',age:'18'}
console.log(obj,'obj');
//类接口
interface Animal{
name:string;
eat(val:string):string;
}
class Dog implements Animal{
public name:string;
constructor(name:string){
this.name=name;
}
eat(val:string):string{
return this.name+val;
}
}
let dog = new Dog('小黑');
console.log(dog.eat('吃狗粮'));
interface people extends Animal{
word(val:string):void;
}
class Programmer implements people{
name:string;
constructor(name:string){
this.name=name;
}
eat(val:string):string{
return this.name+val;
}
word(val:string){
console.log(this.name+val);
}
}
let p1 = new Programmer('张三');
console.log(p1.eat('吃牛排'));
p1.word('打代码');
class programmer1{
name:string;
constructor(name:string){
this.name=name;
}
codeing(val:string):void{
console.log(this.name+val);
}
}
class web extends programmer1 implements people{
constructor(name:string){
super(name);
}
eat(val:string):string{
return this.name+val
}
word(val:string):void{
console.log(this.name+val);
}
}
let w1 = new web('李四');
console.log(w1.eat('吃牛排'));
w1.codeing('打代码');
typeScript学习笔记-接口
最新推荐文章于 2024-02-21 11:20:31 发布