深入理解多态

一、里氏替换原则:
1.子类对象可以赋给父类变量,也可以说子类可以替换父类并且出现在父类能够出现的任何地方,且程序的行为不会发生变化,但是反过来,父类对象不能替换子类对象的,。这种特性被称作“里氏替换原则”。
eg:People p = new Student(); //可以
Student s = new People(); //不可以
二、is和as的用法:
1.is是用来判断类型的(检查对象和指定的类型是否兼容)
2.as是用来转换类型的(主要用在两个对象之间)
三、父类类型作为参数:
1.里氏替换原则指出子类对象可以替换父类对象,那么在开发程序时,可以编写以父类类型作为形式参数的方法,在实际调用时传入子类对象,从而实现多态。
2.eg:
父类
public class TrafficTool{
public virtual void Run(){
Console.WriteLine(“车在行驶”);
}
}
//子类
public class Bus:TrafficTool{
public override void Run(){
Console.WriteLine(“公共汽车在行驶”);
}
}
//测试类
public class Test{
public static void main(String []args){
Student stu = new Student(1,“张三”);
stu.GoHome(new Bus());//传递实际创建的子类对象
}

	}

四、抽象类和抽象方法:
1.抽象类:
语法:public abstract class 类名{}
2.含有抽象方法的类必然是抽象类,但是抽象类里面的方法不一定都是抽象方法
3.抽象类不能实例化
4.抽象方法:没有方法体,语法是:访问修饰符 abstract 返回值类型 方法名();
五、面向对象的三大特征:
1.封装:保证对象自身数据的完整性和安全性
2.继承:建立类之间的关系,实现代码复用,方便系统的扩展
3.多态:相同的方法调用可实现不同的实现方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

穆雄雄

哎,貌似还没开张来着呢~

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

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

打赏作者

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

抵扣说明:

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

余额充值