C#定义一个人员类Cperson
时间: 2024-09-23 18:06:05 浏览: 53
在C#中,你可以定义一个名为`Person`的基本类来表示一个人,包括常见的属性如姓名、年龄等。下面是一个简单的例子:
```csharp
public class Person
{
// 定义基本属性
public string Name { get; set; } // 姓名
public int Age { get; set; } // 年龄
// 构造函数,用于初始化对象
public Person(string name, int age)
{
Name = name;
Age = age;
}
// 普通成员方法,例如打招呼
public void Greet()
{
Console.WriteLine("你好,我的名字是" + Name);
}
}
```
在这个类中,我们定义了两个公共属性`Name`和`Age`,以及一个构造函数用于设置初始值。还定义了一个成员方法`Greet()`,当实例化这个`Person`对象并调用`Greet()`方法时,会打印出问候语。
相关问题
用c#定义一个人员类CPerson,包括数据成员:姓名、编号、性别和用于输入/输出的成员函数。在此基础上派生出学生类CStudent(增加成绩)和教师类CTeacher(增加教龄),并实现对学生和教师信息的输入/输出
在 C# 中,首先我们定义一个基础的人员类 `CPerson`:
```csharp
public class CPerson
{
// 数据成员
public string Name { get; set; }
public int ID { get; set; }
public char Gender { get; set; }
// 构造函数
public CPerson(string name, int id, char gender)
{
Name = name;
ID = id;
Gender = gender;
}
// 输入函数(示例,这里通常会使用控制台输入或GUI组件)
public void InputInfo()
{
Console.Write("请输入姓名:");
Name = Console.ReadLine();
Console.Write("请输入编号:");
ID = int.Parse(Console.ReadLine());
Console.Write("请输入性别(M/F):");
Gender = Console.ReadKey().KeyChar;
}
// 输出函数
public void OutputInfo()
{
Console.WriteLine($"姓名:{Name}");
Console.WriteLine($"编号:{ID}");
Console.WriteLine($"性别:{Gender}");
}
}
```
接下来,我们将派生两个子类 `CStudent` 和 `CTeacher`:
```csharp
public class CStudent : CPerson
{
// 子类特有的数据成员
public double GPA { get; set; }
// CStudent的构造函数
public CStudent(string name, int id, char gender, double gpa) : base(name, id, gender)
{
GPA = gpa;
}
// 学生的输入/输出函数
public void InputStudentInfo()
{
Console.Write("请输入GPA:");
GPA = double.Parse(Console.ReadLine());
base.InputInfo(); // 调用父类的输入函数
}
public void OutputStudentInfo()
{
base.OutputInfo();
Console.WriteLine($"GPA:{GPA}");
}
}
public class CTeacher : CPerson
{
// 子类特有的数据成员
public int TeachingYears { get; set; }
// CTeacher的构造函数
public CTeacher(string name, int id, char gender, int teachingYears) : base(name, id, gender)
{
TeachingYears = teachingYears;
}
// 教师的输入/输出函数
public void InputTeacherInfo()
{
Console.Write("请输入教龄:");
TeachingYears = int.Parse(Console.ReadLine());
base.InputInfo(); // 调用父类的输入函数
}
public void OutputTeacherInfo()
{
base.OutputInfo();
Console.WriteLine($"教龄:{TeachingYears}年");
}
}
```
现在你可以使用这两个类来存储和显示学生的和教师的信息:
```csharp
public static void Main()
{
CStudent student = new CStudent("小明", 1234, 'M', 3.5);
student.InputStudentInfo();
student.OutputStudentInfo();
CTeacher teacher = new CTeacher("李老师", 5678, 'F', 10);
teacher.InputTeacherInfo();
teacher.OutputTeacherInfo();
}
```
使用C# 定义一个人员类 CPerson,包括数据成员:姓名、编号、性别和用于输入/输出的成员函数。在此基础上派生出学生类Cstudent(增-加成绩)和教师类CTeacher(增加教龄),并实现对学生和教师信息的输入/输出。
在C#中,我们可以首先定义一个基础的`CPerson`类,然后基于这个类创建两个派生类`CStudent`和`CTeacher`。这里是一个简单的示例:
```csharp
// 定义基础人员类 CPerson
public class CPerson
{
public string Name { get; set; }
public int ID { get; set; }
public char Gender { get; set; }
// 构造函数
public CPerson(string name, int id, char gender)
{
Name = name;
ID = id;
Gender = gender;
}
// 输入输出成员函数
public void DisplayInfo()
{
Console.WriteLine($"Name: {Name}, ID: {ID}, Gender: {Gender}");
}
}
// 派生学生类 CStudent
public class CStudent : CPerson
{
public double Grade { get; set; }
public CStudent(string name, int id, char gender, double grade)
: base(name, id, gender)
{
Grade = grade;
}
// 增加成绩功能
public void UpdateGrade(double newGrade)
{
Grade = newGrade;
}
// 输入输出成员函数扩展
public override void DisplayInfo()
{
base.DisplayInfo();
Console.WriteLine($"Grade: {Grade}");
}
}
// 派生教师类 CTeacher
public class CTeacher : CPerson
{
public int YearsOfTeaching { get; set; }
public CTeacher(string name, int id, char gender, int yearsOfTeaching)
: base(name, id, gender)
{
YearsOfTeaching = yearsOfTeaching;
}
// 增加教龄功能
public void UpdateYearsOfTeaching(int newYears)
{
YearsOfTeaching = newYears;
}
// 输入输出成员函数扩展
public override void DisplayInfo()
{
base.DisplayInfo();
Console.WriteLine($"Years of Teaching: {YearsOfTeaching}");
}
}
```
现在你可以实例化这些类并显示他们的信息:
```csharp
public static void Main(string[] args)
{
CStudent student = new CStudent("张三", 1001, 'M', 90.5);
student.UpdateGrade(95);
student.DisplayInfo();
CTeacher teacher = new CTeacher("李四", 2001, 'F', 10);
teacher.UpdateYearsOfTeaching(15);
teacher.DisplayInfo();
}
```
阅读全文