Class Animal func shout0{ printc“动物发出叫声心 Class Dog: Animal { Override func shout { print( “小狗汪汪叫”〕 let animal:Animal = Dog0 animal.shout0列出运行结果
时间: 2024-02-15 12:02:34 浏览: 105
好的,以下是一个包含Animal类和Dog类,并实现了shout方法的示例代码:
```swift
class Animal {
func shout() {
print("动物发出叫声")
}
}
class Dog: Animal {
override func shout() {
print("小狗汪汪叫")
}
}
let animal:Animal = Dog()
animal.shout()
```
输出结果:
```
小狗汪汪叫
```
可以看到,创建了一个Animal类型的变量animal,并将其赋值为Dog类型的实例。由于Dog类重写了Animal类的shout方法,因此当调用animal的shout方法时,实际上调用的是Dog类的shout方法,打印出了“小狗汪汪叫”的结果。
相关问题
创建动物类,其叫声为输出“叽里咕噜”,猫类,狗类,鸭类,鸡类继承动物类,分别发出叫声“喵喵”,“汪汪”,“嘎嘎”,“咯咯”,输入动物名,输出相应动物叫声,输出格式为“动物名 : 动物叫声\n“
可以使用Python语言来实现这个需求,代码如下:
```python
class Animal:
def speak(self):
print("叽里咕噜")
class Cat(Animal):
def speak(self):
print("喵喵")
class Dog(Animal):
def speak(self):
print("汪汪")
class Duck(Animal):
def speak(self):
print("嘎嘎")
class Chicken(Animal):
def speak(self):
print("咯咯")
# 测试代码
animals = [Cat(), Dog(), Duck(), Chicken()]
for animal in animals:
animal_name = animal.__class__.__name__
animal.speak()
print(f"{animal_name}: {animal.speak.__func__.__doc__}")
```
输出结果如下:
```
喵喵
Cat: None
汪汪
Dog: None
嘎嘎
Duck: None
咯咯
Chicken: None
```
注意到上面输出的 `None` 是因为我们在 `speak` 函数的定义中没有为其编写函数文档字符串。如果需要为其添加文档字符串,可以修改 `Animal` 类如下:
```python
class Animal:
def speak(self):
"""
输出动物的叫声
"""
print("叽里咕噜")
```
这样输出结果中就会显示函数文档字符串。
阅读全文