多态 方法的重写 和 抽象类

1.多态
对于同一个对象,身份不同时,调用同一个方法会呈现出不同的状态。
* 前提是:当父类和子类出现了完全一模一样的方法。允许的
* 当父类和子类出现相同方法,父类会隐藏子类的方法调用。也就是说
* 当我们创建了老虎对象,但是将其看成是动物时。这个时候如果调用
* Eat方法,调用不是老虎类中的Eat,而是动物类中的Eat方法。这就是
* 隐藏。
如果是有意隐藏,请使用关键字 new。
* 一旦在子类方法中加入了new关键字,那么调用对象的这个方法时,
总结:只看当前身份,不看真实身份。

2.重写
一旦对象创建出来之后。调用方法
重写:和隐藏不同的是,一旦对象创建出来之后,调用方法
只看真实身份,不看当前身份。
写法:父类方法必须用virtual关键字修饰,表示此方法可以被子类
重写。如果子类要重写父类的相同方法,必须使用override关键字

只看真实身份,不看当前身份。

必须要有继承关系。
如果父类允许子类重写自己的方法,就必须在此方法前加//virtual关键字
//如果子类重写了父类的virtual方法,就必须在方法
//前加上override关键字

//如果一个类重写了父类的方法,也表名自己定义的这个方法
//可以被自己的子类所重写

3.抽象类
Annotation:在面向对象编程中,我们会设计一些模板类,让其他来继承。
//1、在抽象类中可以有抽象方法,用abstract关键字修饰的方法
//2、在抽象类中可以有普通方法
//3、和普通类不同的是,抽象类不可以实例化
//抽象方法只有方法的签名,没有定义(没有实现过程)
//抽象方法的实现由子类完成
//只要父类的方法被virtual,override或abstract关键字修饰,那么子类就可以重写这些方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值