什么是多态,它有什么意义?

多态是一种抽象行为,它允许程序员面对抽象编程而不是具体的实现类,从而增强代码的扩展性。

1. 抽象与具体

  • 抽象:代表一类事物的共同特征,例如“水果”。
  • 具体实现类:代表抽象概念的具体实例,例如“苹果”。

大家可能不是很理解什么是抽象什么是具体,我举个可能不是很恰当,但是很好理解的例子:比如某个人很喜欢吃苹果,我们在写文童描述他的时候可以写他很喜欢吃苹果,也可以写他很喜欢吃水果。

2. 多态的意义

通过一个生活化的例子来理解多态:

  • 如果我们描述一个人喜欢吃苹果,但某天他开始喜欢吃桃子,如果之前我们写的是“他很喜欢吃水果”,就不需要修改;如果写的是“他很喜欢吃苹果”,则需要替换成“桃子”。这展示了多态带来的灵活性。

3. 代码示例

  • 定义一个父类 Person 和一个子类 Student
  • Person 类有一个方法 work()Student 类重写了这个方法,使其行为变为“上学”。
class Person {
    void work() {
        System.out.println("Working");
    }
}

class Student extends Person {
    @Override
    void work() {
        System.out.println("Studying");
    }
}

public class PolymorphismExample {
    public static void main(String[] args) {
        Person person = new Student();
        person.work(); // 输出 "Studying"
    }
}

这样在使用的时候,对象都是 person,但是 new 不同的实现类,表现的形式不同,这也就从字面上解释的什么叫多态。

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值