再次理解多态概念

简介: 再次理解多态概念

多态:指为不同数据类型的实体提供统一的接口。同一操作作用于不同的对象可以有不同的解释,产生不同的执行结果。

这是对于多态的解释,现在把这句话进行拆解理解它在代码上的体现,我们把第一句话“为不同数据类型的实体提供统一的接口。”在代码上的体现就是在下面静态方法中的switch选择结构中的为oper这个变量赋值的语句,就是在不同数据类型的实体提供了统一的接口,

public class OperationFactory {
    public static Operation createOperate(String Operate) throws Exception {
        Operation oper=null;
        switch(Operate){
            case "+":
                oper=new OperationAdd();
                break;
            case "-":
                oper=new OperationSub();
                break;
            case "*":
                oper=new OperationMul();
                break;
            case"/":
                oper=new OperationDiv();
                break;
            default:
                throw new Exception("没相关计算形式");
        }
        return oper;
    }
}

那么第二句话“同一操作作用于不同的对象可以有不同的解释,产生不同的执行结果。”


这里我们可以看到两张图片中都有一个getResult()方法,但是对应的方法实现都是不一样,比如Add这个类中的方法进行的是加法运算,而Sub这个类中的方法进行的是减法运算,当我们父类的引用指向不同的子类时,使用相同的方法得到的结果是不相同的。

相关文章
|
5月前
|
C++
C++一分钟之-继承与多态概念
【6月更文挑战第21天】**C++的继承与多态概述:** - 继承允许类从基类复用代码,增强代码结构和重用性。 - 多态通过虚函数实现,使不同类对象能以同一类型处理。 - 关键点包括访问权限、构造/析构、菱形问题、虚函数与动态绑定。 - 示例代码展示如何创建派生类和调用虚函数。 - 注意构造函数初始化、空指针检查和避免切片问题。 - 应用这些概念能提升程序设计和维护效率。
38 2
|
5月前
|
Python
面向对象详解,面向对象的三大特征:封装、继承、多态-1
面向对象详解,面向对象的三大特征:封装、继承、多态
|
5月前
|
Python 容器
面向对象详解,面向对象的三大特征:封装、继承、多态-2
面向对象详解,面向对象的三大特征:封装、继承、多态
|
6月前
|
Serverless PHP
当谈论面向对象编程时,这四个概念是非常重要的。以下是对接口、继承、封装和多态的简要说明
本文介绍了面向对象编程的四个核心概念:接口、继承、封装和多态。接口定义对象的行为规范,类通过实现接口确保符合所需行为。继承允许在已有类基础上创建新类,实现代码重用。封装是将数据和操作捆绑并隐藏内部细节,提高安全性和可维护性。多态使对象在运行时能表现出不同行为,增加代码灵活性和可扩展性。文中还提供了代码示例来说明这些概念。
38 0
|
6月前
|
Java
Java面向对象编程,解释封装、继承和多态的概念。
Java面向对象编程,解释封装、继承和多态的概念。
78 2
|
存储 数据安全/隐私保护 Python
面向对象编程(OOP):理解类、封装性的关键概念
面向对象编程(OOP):理解类、封装性的关键概念
145 0
|
存储 编译器 C++
C++ 面向对象三大特性——多态
面向对象三大特性的,封装,继承,多态,今天我们研究研究C++的多态。
|
编译器 C++
【面向对象语言三大特性之 “多态”】(一)
【面向对象语言三大特性之 “多态”】(一)
70 0
|
编译器 Linux C++
【面向对象语言三大特性之 “多态”】(二)
【面向对象语言三大特性之 “多态”】(二)
75 0
多态性概念及案例
多态性概念及案例
57 0
下一篇
无影云桌面