面向对象的三大特征(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);
    }
}
目录
相关文章
|
6月前
|
存储 Cloud Native Linux
C++ 面向对象三大特征
C++ 面向对象三大特征
|
8月前
|
Java
面向对象编程的三大特征:封装;继承;多态
面向对象编程的三大特征:封装;继承;多态
44 0
|
9月前
|
Java
面向对象的特征二:继承性
面向对象的特征二:继承性
93 0
|
9月前
|
安全 Java
面向对象特征一:封装
面向对象特征一:封装
32 0
面向对象特征一:封装
|
5月前
|
C++
C++ 面向对象特征4 多态(Polymorphism)
C++ 面向对象特征4 多态(Polymorphism)
28 0
|
9月前
|
Java
面向对象特征三:多态性
面向对象特征三:多态性
38 0
|
9月前
|
Java
Java面向对象 特征三(多态性)详解
Java面向对象 特征三(多态性)详解
56 0
|
9月前
|
Java
Java面向对象 特征二(继承性)详解
Java面向对象 特征二(继承性)详解
44 0
|
10月前
|
Java 数据安全/隐私保护
Java面向对象编程三大特征 - 继承
Java面向对象编程三大特征 - 继承
41 0
|
10月前
|
存储 Java 开发者
Java面向对象编程三大特征 - 多态
Java面向对象编程三大特征 - 多态
75 0