从零开始的typescript 类 泛型 接口

本文深入探讨了TypeScript中类的定义与使用,包括属性、方法、构造函数、继承及super关键字的应用。同时,详细讲解了接口的概念,如何通过interface定义共通特性,并通过实例演示了类与接口在实际开发中的运用。

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

//类
class Person {  //创建一个类
    public  name;        //属性   public公共方法也是默认方法类外部也可以访问
    protected age;       //       protected类的内部与子类可以访问到
    private weight;      //       private  私有的 内部可以访问
    //类的构造函数  只调用一次
    eat() {            //方法     默认与public相同
        console.log("i'am eating ");     //只有内部可以访问
    }
    constructor(public height:string , height2){    //和上面的差不多 不过不能省略public
        console.log("haha");
    }
}

// extends  声明继承关系   可以继承父类的所有属性与方法
    class Employee extends Person {
    constructor(name:string,code:string){
        super(name);   //super 调用父类的构造函数  子类必需要有父类
        console.log("xixi");
        this.code=code;
    }
        code:string;
        work () {
            super.eat();   //super 调用父类 其他方法
            this.doWork();
        }
        private doWork(){  //设为私有变量,就只能先eat再doWork
            console.log("im working")
        }
    }
    var e1=new Employee("name","1");   //可以获得所有继承的值
    e1.work();

    var p1=new Person();  //实例化一个类
    p1.eat();

//类的方法  主要就是class 创建一个类 然后创建属性方法  extends 用于继承 super用于调用父类函数的构造函数或者

   var  workers:Array<Person>=[];  //泛型  只能选用制定的类型
    workers[0]=new Person("zhangsan");
    workers[1]="2";
    console.log(workers);
​

// 泛型  不知道和any有啥区别  

// 接口  不同类共同特性提取出来  用interface定义
interface Animal {
    eat();
}
class Sheep implements Animal{    //implements来实现
    eat() {
        console.log("i eat grass");
    }
}
class Tiger implements  Animal{
    eat(){
        console.log("i eat meat");
    }
}

//接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值