TSclass类

本文深入探讨了TypeScript中的关键概念:构造函数用于初始化对象,通过参数设置属性并定义方法;继承允许子类继承父类属性和方法,但子类重写可能导致方法覆盖;super关键字用于子类调用父类构造函数;抽象类不能实例化,主要为抽象方法提供模板,子类必须实现所有抽象方法;多态则是同一接口表现出不同形态,实现动态绑定。这些特性强化了TypeScript的面向对象编程能力。
摘要由CSDN通过智能技术生成

TS构造函数:
它是通过class类的形式去声明的一个构造函数 ,在这个函数体内先定义好属性的类型,通过constructor
去定义原型对象通过传递参数的形式去给新建的对象添加属性,constructor中通过this指向需要添加的属性名,
并在构造函数中定义一个方法,通过new 这个构造函数去创建实例对象,并传递对应类型的参数。和调用里面
的方法。需要注意的是构造函数内有几个属性那么就必须得传递几个否则会报错。

TS继承:
它和TS构造函数一样通过class类的形式去声明的一个构造函数 ,在这个函数体内先定义好属性的类型,
通过constructor去定义原型对象通过传递参数的形式去给新建的对象添加属性,constructor中通过
this指向需要添加的属性名,并在构造函数中定义一个方法,通过new 这个子类构造函数去创建实例对象,
并传递对应类型的参数,区别在于创建了class子类构造函数,通过extends(EX腾斯)去继承了父类的属性和方法,
缺点就是:如果子类中的方法和父类中的方法重名则会覆盖父类的方法,这叫做方法重写。

TS的super():
它和TS构造函数一样通过class类的形式去声明的一个构造函数 ,在这个函数体内先定义好属性的类型,
通过constructor去定义原型对象通过传递参数的形式去给新建的对象添加属性,constructor中通过
this指向需要添加的属性名,并在构造函数中定义一个方法,通过new 这个子构造函数去创建实例对象,
区别:super在子类的constructor中调用,是在子类中执行了父类的构造函数,其实是无关父类原型的,
如果想要改变父类的原型方法,可以直接重名覆盖,如果想利用父类原型方法,也可以用super.method来引用。
如果你不在constructor里写super并传入相应参数,那么相当于只继承原型方法。
每个类自己的constructor其实就是定义自身的属性和方法,而不是原型上的。
可以直接使用this.abc来添加,this指自己,super指父类。
子类继承的时候不写constructor,则默认会把父类自身的属性和方法生成到子类。

TS的abstract:
以abstract开头的类是抽象类,
抽象类和其他类区别不大,只是不能用来创建对象
1.抽象类作为类一定有构造器,而且抽象类必须有构造器。
提供给子类创建对象调用父类构造器使用的。
2.抽象类虽然有构造器但是抽象类不能创建对象。
抽象方法没有方法体,创建对象不能执行,所以不能创建对象。
3抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

4抽象类的子类,必须重写抽象父类中所有的抽象方法,否则子类也必须定义成抽象类。

5抽象类存在的意义是为了被子类继承,抽象类体现的是模板思想。
理解:抽象类中已经实现的是模板中确定的成员,抽象类不确定如何实现的定义成抽象方法,
交给具体的子类去实现。


抽象类就是专门用来被继承的类
抽象类中可以添加抽象方法
通过abstract定义一个抽象方法
抽象方法使用 abstract开头,没有方法体
抽象方法只能定义在抽象类中,子类必须对抽象方法进行重写

TS多态:
    多态 ,一种事物的不同表现形态。比如先声明变量f是Animal类型,
    具体是Dog还是Cat,在new 对象时才知道
    如果是Dog,则f.sayHello()调用的是Dog类中的sayHello方法;
    如果是Cat,则f.sayHello()调用的是Cat类中的sayHello方法,这就是多态!!!


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

转角处的汤姆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值