面向对象的三大特征(3)-多态

简介: 面向对象的三大特征(3)-多态

多态

什么是多态?

多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。 简单来说,所谓多态意指相同的消息给予不同的对象会引发不同的动作。

多态示例

业务场景,使用简单工程实现计算器的例子

类图

运算工厂类

package com.wangwei.polymorphism;
public class OperatrionFactory {
    public static Operation createOperation(String operate){
        Operation oper=null;
        switch (operate)
        {
            case"+":
                oper=new OperationAdd();
                break;
            case"-":
                oper=new OperationSub();
                break;
        }
        return oper;
    }
}

运算类

package com.wangwei.polymorphism;
public class OperatrionFactory {
    public static Operation createOperation(String operate){
        Operation oper=null;
        switch (operate)
        {
            case"+":
                oper=new OperationAdd();
                break;
            case"-":
                oper=new OperationSub();
                break;
        }
        return oper;
    }
}

加法类

package com.wangwei.polymorphism;
public class OperationAdd extends Operation{
    @Override
    public double GetResult() {
        double result=0;
        result=super.getNumberA()+super.getNumberB();
        return result;
    }
}

减法类

package com.wangwei.polymorphism;
public class OperationSub extends Operation{
    @Override
    public double GetResult() {
        double result=0;
        result=super.getNumberA()-super.getNumberB();
        return result;
    }
}

客户端类

package com.wangwei.polymorphism;
public class Client {
    public static void main(String[] args) {
        Operation oper;
        oper=OperatrionFactory.createOperation("+");
        oper.setNumberA(1);
        oper.setNumberB(2);
        double result=oper.GetResult();
        System.out.print(result);
    }
}
目录
相关文章
面向对象编程的三大特征是什么?
面向对象编程的三大特征是什么?
|
5月前
|
Java
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
|
5月前
|
Java
JavaSE——面向对象高级二(1/4)-面向对象三大特征之三-多态(认识多态、使用多态的好处、多态下的类型转换问题)
JavaSE——面向对象高级二(1/4)-面向对象三大特征之三-多态(认识多态、使用多态的好处、多态下的类型转换问题)
34 0
|
5月前
面向对象三大特征——封装,继承
面向对象三大特征——封装,继承
|
安全 Java
面向对象特征一:封装
面向对象特征一:封装
46 0
面向对象特征一:封装
|
Java
面向对象的特征二:继承性
面向对象的特征二:继承性
116 0
|
11月前
|
C++
C++ 面向对象特征4 多态(Polymorphism)
C++ 面向对象特征4 多态(Polymorphism)
44 0
|
Java
Java面向对象 特征三(多态性)详解
Java面向对象 特征三(多态性)详解
78 0
|
Java
面向对象特征三:多态性
面向对象特征三:多态性
60 0
|
Java 数据安全/隐私保护
Java面向对象编程三大特征 - 继承
Java面向对象编程三大特征 - 继承
62 0