Person类中有属性:姓名、年龄;有方法:Eat(),该方法为虚方法(virtual),其功能为输出“我正在吃...”,方法Speak(),该方法输出相应的姓名和年龄; (2)Adult类、Baby类是Person类的派生类,在Adult类中重写Eat()方法,其功能为输出“我正在吃饭”,在Baby类中重写Eat()方法,其功能为输出“我正在喝奶”;
时间: 2024-03-15 08:47:17 浏览: 42
好的,以下是符合您要求代码实现:
```csharp
using System;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public virtual void Eat()
{
Console.WriteLine("我正在吃...");
}
public void Speak()
{
Console.WriteLine("我的名字是{0},我今年{1}岁了。", Name, Age);
}
}
public class Adult : Person
{
public override void Eat()
{
Console.WriteLine("我正在吃饭");
}
}
public class Baby : Person
{
public override void Eat()
{
Console.WriteLine("我正在喝奶");
}
}
```
在这个例子中,我们定义了一个基类 `Person`,并在其中定义了属性 `Name` 和 `Age`,以及虚方法 `Eat()` 和非虚方法 `Speak()`。然后,我们创建了两个派生类 `Adult` 和 `Baby`,并在其中分别重写了 `Eat()` 方法,以实现不同的输出。
相关问题
Person类中有属性:姓名、年龄;有方法:eat(),该方法输出“我正在吃饭”
以下是Python的代码实现:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def eat(self):
print("我正在吃饭")
# 实例化一个Person对象
person = Person("张三", 20)
# 调用eat()方法
person.eat()
```
输出结果:
```
我正在吃饭
```
设计person类 属性:姓名,年龄,身高 方法:跑,说话,吃饭
class Person:
def __init__(self, name, age, height):
self.name = name
self.age = age
self.height = height
def run(self):
print(f"{self.name} is running.")
def talk(self):
print(f"{self.name} is talking.")
def eat(self):
print(f"{self.name} is eating.")