写一个综合了封装,继承,多态的示例代码,要求:代码要能够体现的封装,继承,多态特点,代码要创新,内容要详细,输出的文字要求是中文,用python语言写
时间: 2024-04-29 16:26:03 浏览: 106
好的,让我来展示一下综合了封装、继承和多态的示例代码。
首先,我们定义一个基础类Animal(动物),包含了它所有共同的属性和方法。这个类被封装为私有属性和方法,不可被外部访问。
```python
class Animal:
def __init__(self, name, age, gender):
self.__name = name
self.__age = age
self.__gender = gender
def __get_name(self):
return self.__name
def __get_age(self):
return self.__age
def __get_gender(self):
return self.__gender
def eat(self):
print('吃饭中...')
def sleep(self):
print('睡觉中...')
```
接着,我们定义两个继承自Animal的子类:Dog(狗)和Cat(猫)。它们分别继承了父类的属性和方法,并有自己独有的属性和方法。这个过程展示了继承的特点。
```python
class Dog(Animal):
def __init__(self, name, age, gender, breed):
super().__init__(name, age, gender)
self.__breed = breed
def bark(self):
print('汪汪!')
def play(self):
print('玩球中...')
class Cat(Animal):
def __init__(self, name, age, gender, color):
super().__init__(name, age, gender)
self.__color = color
def meow(self):
print('喵喵!')
def sleep(self):
print('打盹中...')
```
最后,我们定义一个函数,充分利用多态的特点。不同的对象调用同一个方法,会产生不同的结果。
```python
def animal_action(animal):
animal.eat()
animal.sleep()
if __name__ == '__main__':
dog = Dog('小黄', 3, '雄性', '金毛')
cat = Cat('小花', 2, '雌性', '橘黄色')
animal_action(dog)
animal_action(cat)
```
输出结果:
```
吃饭中...
睡觉中...
吃饭中...
打盹中...
```
通过创新和详细的编写,我们成功地实现了综合了封装、继承和多态的示例代码。
阅读全文