黑马程序员——— 多态

1多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
2.多态存在的三个必要条件
一、要有继承;
二、要有重写;
三、父类引用指向子类对象。
3.作用: 多态的存在提高了程序的扩展性和后期可维护性
4.好处:
提高了代码的扩展性,前期定义的代码可以使用后期的内容。
5.弊端:
前期定义的内容不能使用(调用)后期子类的特有内容。

多态毕老师金典代码:

/*
02. 毕老师和毕姥爷的故事
03. */
04. class 毕姥爷{
05. void 讲课(){
06. System.out.println("管理");
07. }
08. void 钓鱼(){
09. System.out.println("钓鱼");
10. }
11. }
12.
13. class 毕老师 extends 毕姥爷{
14. void 讲课(){
15. System.out.println("Java");
16. }
17. void 看电影(){
18. System.out.println("看电影");
19. }
20. }
21.
22. class DuoTaiDemo{
23. public static void main(String[] args){
24. 毕老师 x = new 毕老师();
25. x.讲课(); //Java
26. x.看电影(); //看电影
27.
28. 毕姥爷 y = new 毕老师();
29. y.讲课(); //Java
30. y.钓鱼(); //钓鱼
31.
32. 毕老师 z = (毕老师)y;
33. z.看电影(); //看电影
34. }
35. }

6. 多态时,成员的特点:

1.成员变量
编译时:参考引用型变量所属的类中是否有调用的成员变量。有,编译通过,没有,编译失败。
运行时:参考引用型变量所属的类中是否有调用的成员变量,并运行该所属类中的成员变量。
简单说:编译和运行都参考等号的左边。
2.成员函数(非静态)
编译时:参考引用型变量所属的类中是否有调用的函数。有,编译通过。没有,编译失败。
运行时:参考的是对象所属的类中是否有调用的函数。简单说:编译看左边,运行看右边。
3.静态函数
编译时:参考的是对象所属的类中是否有调用的函数。
运行时:参考的是对象所属的类中是否有调用的函数。
简单说:编译和运行看左边。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值