有一些大学生一边上学一边打工,这类人称为半工半读大学生。现在对他们进行面向对象建模,在这个模型里,需要“人”,“工人”,“大学生”和“半工半读大学生”这样几个类型。建立“人”,“工人”,“大学生”接口,接口的关系:“工人”和“大学生”接口分别继承人接口,实现接口:“半工半读大学生”类就可以继承“工人”和“大学生”接口。编写测试代码,测试接口中的属性和方法。用c#写,给详细代码,写在一起
时间: 2023-06-19 20:08:12 浏览: 157
以下是C#的代码实现,包括接口的定义、类的继承和方法的重写:
```csharp
using System;
// 定义人的接口
interface IPerson {
string Name { get; set; }
int Age { get; set; }
void SayHello();
}
// 定义工人的接口,继承自人的接口
interface IWorker : IPerson {
double Salary { get; set; }
void Work();
}
// 定义大学生的接口,继承自人的接口
interface IStudent : IPerson {
string University { get; set; }
void Study();
}
// 定义半工半读大学生类,实现工人和大学生的接口
class WorkingStudent : IWorker, IStudent {
public string Name { get; set; }
public int Age { get; set; }
public double Salary { get; set; }
public string University { get; set; }
public void SayHello() {
Console.WriteLine($"Hello, my name is {Name}, I'm {Age} years old.");
}
public void Work() {
Console.WriteLine($"I'm {Name}, and I work for {Salary} per month.");
}
public void Study() {
Console.WriteLine($"I'm {Name}, and I study at {University}.");
}
}
// 测试代码
static void Main(string[] args) {
WorkingStudent ws = new WorkingStudent();
ws.Name = "Jack";
ws.Age = 22;
ws.Salary = 8000;
ws.University = "ABC University";
ws.SayHello();
ws.Work();
ws.Study();
}
```
输出结果:
```
Hello, my name is Jack, I'm 22 years old.
I'm Jack, and I work for 8000 per month.
I'm Jack, and I study at ABC University.
```
阅读全文