首页 > 其他 > 详细

typescript-class-interface

时间:2020-05-09 15:32:47      阅读:44      评论:0      收藏:0      [点我收藏+]
interface Human {
    // new (name:string):void;  //不能约束类的构造函数
    name:string;
    eat():void;
}

class Asian implements Human {
    constructor(name:string){   //接口也不能约束类的构造函数
        this.name = name
    }
    name:string;
    // private name:string;    //接口不能约束类的私有属性
    eat(){}
    sleep(){}
}
/**
 * 接口只能约束类的公有成员
 */

//  接口继承接口
 interface  Man extends Human{
     run():void
 }

 interface Child {
     cry():void
 }

 interface Boy extends Man,Child {}

 let boy:Boy = {
     name:‘‘,
     run(){},
     eat(){},
     cry(){}
 }

//  接口继承类: 接口把类的成员都抽象了出来  有类的结构 但没有具体实现
 class Auto {
     state =  1
    //  private state2 = 0  
 }
 interface AutoInterface extends Auto {}
 
 class C implements AutoInterface {
     state = 2  
    //  c不是子类  所以private属性无法实现 报错
 }
 class Bus extends Auto implements AutoInterface {
    // 因为是Auto的子类 , 已经继承了state  就不用再实现了  
    // 注意:  接口在抽离类的成员的时候,不仅抽离了公共成员, 还有私有成员和受保护成员
 }

技术分享图片

typescript-class-interface

原文:https://www.cnblogs.com/chengyunshen/p/12857208.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!