C# 有人能解释一下下面的代码吗?
-->输出:姓名:David 在上面的代码中,我们使用了“get”和“set”方法 现在 使用制度; 班级计划 { 班主任{C# 有人能解释一下下面的代码吗?,c#,C#,-->输出:姓名:David 在上面的代码中,我们使用了“get”和“set”方法 现在 使用制度; 班级计划 { 班主任{ using System; class Program { class Person { protected int Age {get; set;} protected string Name {get; set;} } class Student : Person { public Student(
using System;
class Program
{
class Person {
protected int Age {get; set;}
protected string Name {get; set;}
}
class Student : Person {
public Student(string nm) {
Name = nm;
}
public void Speak() {
Console.Write("Name: "+Name);
}
}
static void Main(string[] args)
{
Student s = new Student("David");
s.Speak();
}
}
-->输出:姓名:David
在这里,我删除了“get”和“set”方法,但输出是相同的。那么这些方法有什么用?您可以确保没有错误的输入,或者在属性更改时基本上执行其他代码…您的问题不清楚。您发布的代码中没有名为get或set的方法。声明一项没有get和set的类上的d被视为字段,而不是属性;字段的处理方式不同。没有实际函数的{get;set;}被称为自动属性访问器,使该项成为具有自动支持字段的属性。例如,Student.Name在第一个示例中可以使用,但在第二个示例中不起作用。
protected string Name;
}
class Student : Person {
public Student(string nm) {
Name = nm;
}
public void Speak() {
Console.Write("Name: "+Name);
}
}
static void Main(string[] args)
{
Student s = new Student("David");
s.Speak();
}
}