面向对象随笔(多态)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象随笔(多态)相关的知识,希望对你有一定的参考价值。

一、多态的前提

1.有继承;

2.有重写;

3.父类引用指向子类对象。

二、多态的作用

1.提高代码的维护性;

2.提高代码的扩展性;

三、多态的缺点

不能调用子类特有的方法

但是可以可以向下转型,就可以调用子类的特有方法了

四、多态的实质

多态就是子类向上转型为父类,可以调用父类中定义的所有属性和方法,但是对于只存在与子类中的方法和属性不能调用,若子类重写了父类中的某些方法,在调用这些方法的时候,必定是使用子类中定义的这些方法

五、多态的种类

1.编译时多态

2.运行时多态

六、多态的特点

1.编译时参考父类,如果没有会编译失败

2.运行时: 1)静态方法,运行父类的静态方法(静态属于类,不属于对象,直接用类名.方法调用,与多态无关);

        2)非静态方法,运行子类中重写的父类的方法。

代码示例1:

 1 public class Vip {
 2     
 3     //定义一个付费VIP会员
 4     public void vip() {
 5         System.out.println("付费会员");
 6     }
 7 }
 8 
 9 public class BeggerVip extends Vip{
10     
11     //定义一个活动会员
12     public void vip() {
13         System.out.println("活动会员");
14     }
15 }
16 
17 public class Test {
18     
19     public static void main(String[] args) {
20         //多态调用
21         Vip v = new BeggerVip();
22         //输出活动会员
23         v.vip();
24     }
25 }

 

代码示例2:

 1 public class A {
 2     
 3     int a = 1;
 4     public void function() {
 5         System.out.println(a);
 6     }
 7 }
 8 
 9 public class B extends A{
10     
11     int a = 2;
12     public void function() {
13         System.out.println(a);
14     }
15 }
16 
17 public class Test {
18     
19     public static void main(String[] args) {
20         //多态调用
21         A a = new B();
22         //输出2
23         a.function();
24     }
25 }

 

以上是关于面向对象随笔(多态)的主要内容,如果未能解决你的问题,请参考以下文章

面向编程对象的好处及应用简单工厂模式(1-3)

JavaScript设计模式阅读随笔——JavaScript面向对象

java面向对象的三种特征简述(随笔)

java面向对象的三种特征简述(随笔)

面向对象目录

JAVA随笔记录