程序中体现多态,对象类型转,关键字等知识点源代码
时间: 2024-11-06 14:21:28 浏览: 17
在程序中体现多态,通常通过使用面向对象的语言如Java、Python或C#。下面是一个简单的Java例子,展示了如何利用多态和类型转换:
```java
// 定义一个基类 Animal
class Animal {
public void makeSound() {
System.out.println("Animal makes a sound");
}
}
// 子类 Dog 和 Cat 继承自 Animal
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Dog barks");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Cat meows");
}
}
public class Main {
public static void main(String[] args) {
// 创建 Animal 类型的对象引用
Animal animal1 = new Dog(); // 动物类型转为具体的子类
Animal animal2 = new Cat();
// 调用 makeSound 方法,体现了多态,因为子类重写了父类的方法
animal1.makeSound(); // 输出 "Dog barks"
animal2.makeSound(); // 输出 "Cat meows"
// Java中的强制类型转换,可以显示地将父类型的引用转换为子类型
Dog dog = (Dog) animal1; // 将animal1强制转换为Dog类型
System.out.println(dog.barks()); // 这里假设Dog有一个barks()方法,实际项目中需要定义或引入这个方法
}
}
```
在这个示例中,`makeSound()` 方法就是多态的表现。尽管变量 `animal1` 和 `animal2` 都是 `Animal` 类型的,但我们可以通过它们调用特定于子类的方法。
阅读全文