c#定义一个Student类,继承Person类,定义name 属性,重写Student的构造方法,在该构造方法中 输出this.name、base.name、name三个变量的值,比较三个值的区别。 在Main方法中创建Student对象,观察输出的结果。
时间: 2024-10-23 14:02:12 浏览: 75
在 C# 中,我们可以定义一个 `Student` 类,它继承自 `Person` 类,主要是为了复用 `Person` 类的特性,并添加特定于学生的信息。首先,我们需要定义 `Person` 类有一个 `name` 属性:
```csharp
public class Person {
public string name; // 定义 name 属性
public Person(string name) {
this.name = name;
Console.WriteLine($"基础类的初始化: {this.name}");
}
}
```
接着,我们重写 `Student` 类的构造方法,这里会输出 `this.name` (当前类实例的 `name`),`base.name` (父类 `Person` 的 `name`,即 `this.name` 因为继承), 和 `name` 参数值:
```csharp
public class Student : Person {
public string name;
public Student(string name)
: base(name) {
this.name = name;
Console.WriteLine($"子类的初始化: {this.name}");
Console.WriteLine($"注意:this.name 和 base.name 在构造函数中实际上是相同的,因为这里是直接赋值给父类的 name 属性。");
}
}
```
在 `Main` 方法中,我们创建 `Student` 对象并观察输出:
```csharp
static void Main(string[] args) {
Student student = new Student("张三");
Console.WriteLine($"最终显示: {student.name}");
Console.WriteLine($"整个程序运行结果将会看到三次 '张三',因为构造方法中已经输出了两次");
阅读全文