用java和python代码举例
时间: 2024-10-22 20:15:17 浏览: 11
当然可以,下面是 Java 和 Python 代码的例子对比:
**Java 示例(静态多态)** - 显示方法重写(Overriding)
```java
class Animal {
public void sound() {
System.out.println("Generic animal sound");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Woof!");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog(); // 使用父类引用指向子类实例
animal.sound(); // 输出 "Woof!"
}
}
```
**Python 示例(鸭子类型)** - 动态多态(函数作为方法)
```python
class Animal:
def sound(self):
print("Generic animal sound")
class Dog(Animal): # 继承 Animal 类并重写方法
def sound(self):
print("Woof!")
def make_sound(animal):
animal.sound()
dog = Dog()
make_sound(dog) # 输出 "Woof!"
```
在这个例子中,Java 利用了继承和方法重写实现了静态多态,而 Python 则是通过函数作为方法来间接实现动态多态。两者都是为了提供灵活性和代码复用。
阅读全文