
多态:在运行时更改对象行为
问题:
如何理解语句“多态允许我们在运行时更改对象的行为”?
解答:
多态是一种面向对象编程的特性,它允许对象在运行时改变其行为。例如,在代码中,我们可以用一个对象替换另一个具有相同接口的对象,而无需更改调用该对象的代码。
ShopNC多用户商城,全新的框架体系,呈现给您不同于以往的操作模式,更简约的界面,更流畅的搜索机制,更具人性化的管理后台操作,更适应现在网络的运营模式解决方案,为您的创业之路打下了坚实的基础,你们的需求就是我们的动力。我们在原有的C-C模式的基础上更增添了时下最流行的团购频道,进一步的为您提高用户的活跃度以及黏性提供帮助。ShopNC商城系统V2.4版本新增功能及修改功能如下:微商城频道A、商城
以下示例代码演示了多态如何工作:
// 定义一个接口
interface Animal {
void makeSound();
}
// 实现该接口的两类
class Dog implements Animal {
public void makeSound() {
System.out.println("Woof!");
}
}
class Cat implements Animal {
public void makeSound() {
System.out.println("Meow!");
}
}
// 主方法
public class Main {
public static void main(String[] args) {
// 声明一个引用 Animal 接口类型的变量
Animal myAnimal;
// 根据不同的情况动态分配不同类型的对象
myAnimal = new Dog();
myAnimal.makeSound(); // 输出:Woof!
myAnimal = new Cat();
myAnimal.makeSound(); // 输出:Meow!
}
}解析:
- 我们定义了一个 animal 接口,该接口有 makesound() 方法。
- dog 和 cat 类实现了该接口,它们都实现了 makesound() 方法。
- 在 main 方法中,我们声明了一个引用 animal 接口类型的变量 myanimal。
- 在运行时,根据不同的情况,我们将 myanimal 赋值为指向 dog 或 cat 的对象。
- 当我们调用 myanimal.makesound() 时,将调用由 myanimal 指向的对象的 makesound() 方法,这会根据对象的类型输出 "woof!"或 "喵!"。
这就是多态允许我们在运行时更改对象行为的方式:通过使用接口和继承,我们可以创建可在运行时更改其行为的对象。









