typeScript学习笔记-接口

//参数接口 设定一个标准,这个参数以后只能传这两个参数
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('打代码');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值