封装、继承、多态这三个概念请问你可以提供具体的例子并注明哪里是封装、继承、多态吗?
时间: 2023-07-10 17:29:26 浏览: 108
当然可以。以下是一个简单的例子:
```python
# 封装
class Animal:
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
# 继承
class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name)
self.__breed = breed
def get_breed(self):
return self.__breed
# 多态
def speak(animal):
animal.speak()
class Cat(Animal):
def speak(self):
print("Meow!")
class Cow(Animal):
def speak(self):
print("Moo!")
dog = Dog("Buddy", "Labrador")
print(dog.get_name()) # 封装
print(dog.get_breed()) # 继承
cat = Cat("Whiskers")
cow = Cow("Bessie")
speak(cat) # 多态
speak(cow) # 多态
```
在上面的例子中,Animal类是一个封装的类,因为它将属性和方法封装在一个类中,并且使用getter和setter方法来控制属性的访问。Dog类继承自Animal类,因为它从Animal类继承了属性和方法。Cat和Cow类都继承自Animal类,并且实现了speak()方法,这就是多态的体现。在speak()函数中,我们传入一个Animal类型的参数,无论是Cat还是Cow类型的实例,speak()函数都能够正确地调用它们的speak()方法。这就是多态的优点,它让我们的代码更加灵活和可扩展。
阅读全文