.定义一个动物类 Animal
时间: 2024-01-01 21:06:59 浏览: 235
以下是一个简单的动物类 Animal 的定义:
```python
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def eat(self):
print(f"{self.name} is eating.")
def sleep(self):
print(f"{self.name} is sleeping.")
```
这个类有两个属性 `name` 和 `age`,以及两个方法 `eat()` 和 `sleep()`。我们可以通过创建实例来表示不同的动物,例如:
```python
dog = Animal("Buddy", 3)
cat = Animal("Whiskers", 5)
dog.eat() # 输出 "Buddy is eating."
cat.sleep() # 输出 "Whiskers is sleeping."
```
这个类只是一个基础的示例,你可以根据需要添加更多的属性和方法来扩展它。
相关问题
Scala 任务1动物类 1.定义抽象动物类(Animal),属性:姓名,年龄,行为:跑步.吃饭。 2.定义猫类(Cat)继承自动物类,重写吃饭的方法,并定义该类独有的抓老鼠的方法。 3.定义狗类(Dog)承自动物类,重写吃饭的方法,并定义该类独有的看家的方法。
在Scala中,你可以创建一个抽象的`Animal`类作为基础模板,然后定义具体的子类如`Cat`和`Dog`。这里是一个简单的例子:
```scala
// 定义抽象 Animal 类
abstract class Animal {
val name: String
var age: Int
def behavior: String = "Running" // 默认的行为
// 定义通用方法
def eat(): Unit = println(s"$name is eating.")
}
// 定义 Cat 子类并重写吃饭方法和增加独特功能
class Cat(name: String, age: Int) extends Animal {
override def behavior = "Walking and playing"
// 重写吃饭方法
override def eat() = println(s"$name is eating with a purr.")
// 添加特有的方法
def catchMice(): Unit = println(s"$name is catching mice.")
}
// 定义 Dog 子类并重写吃饭方法和增加独特功能
class Dog(name: String, age: Int) extends Animal {
override def behavior = "Barking and guarding"
// 重写吃饭方法
override def eat() = println(s"$name is eating with a wag.")
// 添加特有的方法
def watchHome(): Unit = println(s"$name is watching the house.")
}
```
在这个例子中,`Cat`和`Dog`都继承了`Animal`,并且分别重写了`eat()`方法以体现各自的特性。同时,它们还各自添加了独特的行为方法,比如`catchMice()`和`watchHome()`。
任务二:实现多态(继承) 1. 设计一个动物类Animal,定义其属性name及weight,再定义一个带有名称及重量两个参数的构造方法,成员方法eat()、sleep()、breathe()、info()。 2. 设计动物类的子类Sheep以及Wolf,再分
别实现它们的特有属性和方法。
1. Animal类的实现
```python
class Animal:
def __init__(self, name, weight):
self.name = name
self.weight = weight
def eat(self):
print(f"{self.name} is eating.")
def sleep(self):
print(f"{self.name} is sleeping.")
def breathe(self):
print(f"{self.name} is breathing.")
def info(self):
print(f"Name: {self.name}, Weight: {self.weight}")
```
2. Sheep和Wolf类的实现
```python
class Sheep(Animal):
def __init__(self, name, weight, wool_color):
super().__init__(name, weight)
self.wool_color = wool_color
def produce_wool(self):
print(f"{self.name} produces {self.wool_color} wool.")
class Wolf(Animal):
def __init__(self, name, weight, pack_size):
super().__init__(name, weight)
self.pack_size = pack_size
def hunt(self):
print(f"{self.name} hunts with pack size of {self.pack_size}.")
```
在Sheep和Wolf类中,我们使用了继承来继承了Animal类的属性和方法,并且添加了各自特有的属性和方法。
现在我们可以创建Sheep和Wolf的实例,并调用它们的方法了:
```python
sheep = Sheep("Dolly", 50, "white")
wolf = Wolf("Luna", 70, 5)
sheep.info()
sheep.eat()
sheep.produce_wool()
wolf.info()
wolf.breathe()
wolf.hunt()
```
输出:
```
Name: Dolly, Weight: 50
Dolly is eating.
Dolly produces white wool.
Name: Luna, Weight: 70
Luna is breathing.
Luna hunts with pack size of 5.
```
阅读全文