专业的编程技术博客社区

网站首页 > 博客文章 正文

27. 多态(视频配套代码)(多态的代码)

baijin 2025-07-03 12:09:08 博客文章 4 ℃ 0 评论

如下代码配套视频:《27. 多态|动态绑定,一接口千实现

27.1 接口多态

Operation.java

package com.polymorphism.demo1;

/**
 * @author 今日头条:老陈说编程
 * 定义一个函数式接口,包含一个抽象方法用于执行二元运算
 */
interface Operation {
    double calculate(double a, double b); // 定义计算方法的签名
}

Addition.java

package com.polymorphism.demo1;

/**
 * @author 今日头条:老陈说编程
 * Addition类实现Operation接口,用于执行加法运算
 */
class Addition implements Operation {
    @Override
    public double calculate(double a, double b) {
        return a + b; // 返回两数之和
    }
}

Subtraction.java

package com.polymorphism.demo1;

/**
 * @author 今日头条:老陈说编程
 * Subtraction类实现Operation接口,用于执行减法运算
 */
class Subtraction implements Operation {
    @Override
    public double calculate(double a, double b) {
        return a - b; // 返回两数之差
    }
}

Multiplication.java

package com.polymorphism.demo1;

/**
 * @author 今日头条:老陈说编程
 * Multiplication类实现Operation接口,用于执行乘法运算
 */
class Multiplication implements Operation {
    @Override
    public double calculate(double a, double b) {
        return a * b; // 返回两数之积
    }
}

Main.java

package com.polymorphism.demo1;

/**
 * @author 今日头条:老陈说编程
 * 主类,程序执行的入口点
 */
public class Main {
    public static void main(String[] args) {
        // 创建加法运算实例
        Operation add = new Addition();
        // 创建减法运算实例
        Operation subtract = new Subtraction();
        // 创建乘法运算实例
        Operation multiply = new Multiplication();

        // 调用静态方法执行加法,输出: 8.0
        System.out.println(calculate(5, 3, add));
        // 调用静态方法执行减法,输出: 2.0
        System.out.println(calculate(5, 3, subtract));
        // 调用静态方法执行乘法,输出: 15.0
        System.out.println(calculate(5, 3, multiply));
    }

    // 通用计算方法,通过传入不同的运算实现执行不同操作
    public static double calculate(double a, double b, Operation op) {
        return op.calculate(a, b); // 委托给具体实现执行计算
    }
}

27.2 方法多态

Calculator.java

package com.polymorphism.demo2;

/**
 * @author 今日头条:老陈说编程
 * 计算器类,包含多种加法重载方法
 */
public class Calculator {
    // 计算两个整数的和并打印结果
    public void add(int a, int b) {
        System.out.println("两个整数之和为:" + (a + b));
    }

    // 计算两个浮点数的和并打印结果
    public void add(double a, double b) {
        System.out.println("两个浮点数之和:" + (a + b));
    }

    // 计算一个整数和一个浮点数的和并打印结果
    public void add(int a, double b) {
        System.out.println("一个整数和一个浮点数之和:" + (a + b));
    }

    // 程序入口点
    public static void main(String[] args) {
        // 创建计算器对象
        Calculator calculator = new Calculator();
        // 调用整数加法方法
        calculator.add(10, 10);
        // 调用浮点数加法方法
        calculator.add(10.25, 20.51);
        // 调用混合类型加法方法
        calculator.add(10, 20.51);
    }
}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表