Typescript学习记录(2)

本文介绍了Typescript中接口的概念及其应用,包括属性接口、可索引接口和类类型接口。通过实例展示了如何约束对象的结构,以及接口的继承。同时,接口在约束类的行为和属性上起到关键作用,确保了代码的规范性和一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Typescript的接口


接口的作用:

接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。接口不关心内部的状态数据以及实现的细节,只规定类里必须提供某些方法,提供这些方法的类可以满足实际需求,Typescript的接口类似与java,还增加了更灵活的接口类型,包括属性、函数、可索引和类等。


(1)属性接口:
  //属性接口
  interface Fullname{
    firstName: string;    //注意以 ; 结束
    secondName: string;
  }

  function printName(name: Fullname) {
    //必须传入对象 firstName  secondName
    console.log(name.firstName + ' ' + name.secondName);
  }


  printName ({
    firstName: 'z',
    secondName: 'm'
    age: 20,        //这个方式传参只能包含firstName secondName
  })


  var obj = {
    age: 20,
    firstName: 'z',
    secondName: 'm'  //这种方式就可以传入其他参数
  }

  printName(obj)

(2)可索引接口

对数组的约束:

  //属性接口
  interface UserArr{
    [index: number]: string;
  }

  var arr:UserArr = ['aaa', 'bbb'];
  console.log(arr[0]);  //输出 aaa

(3)类类型接口:
对类的约束

  interface Animal{
    name: string;
    eat(str: string):void;
  }

  class Dog implements Animal{
    name: string;
    constructor(name: string){
      this.name = name;
    }

    eat(){
      console.log(this.name + '吃粮食');
    }
  }

  var d = new Dog('小黑');

  d.eat()    //输出 小黑吃粮食

扩展:接口可以继承接口

 interface Animal{
   eat(): void;
 }

 interface Person extends Animal{
   work(): void;
 }

 class Web implements Person{
   public name: string;
   constructor(name: string){
     this.name = name;
   }

   eat(){
     console.log(this.name + '喜欢吃馒头');
   }

   work(){
     console.log(this.name + '写代码');
     
   }
 }

 var p = new Web('zmj');

 p.work()      //输出  zmj写代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值