(2) 创建两个子类 Student 和 Teacher,继承自 Person 类,分别扩展 StudentID 和 TeacherID 属性。
时间: 2024-10-13 19:07:48 浏览: 21
为了创建两个子类 `Student` 和 `Teacher`,它们继承自 `Person` 类并且添加了 `StudentID` 和 `TeacherID` 属性,你可以这样做:
```csharp
public class Student : Person
{
// 添加 StudentID 属性
public string StudentID { get; set; }
public override void Introduce()
{
base.Introduce();
Console.WriteLine("My student ID is " + StudentID);
}
}
public class Teacher : Person
{
// 添加 TeacherID 属性
public string TeacherID { get; set; }
public override void Introduce()
{
base.Introduce();
Console.WriteLine("My teacher ID is " + TeacherID);
}
}
```
在 `Student` 和 `Teacher` 类中,我们使用 `override` 关键字来重写 `Person` 类中的 `Introduce()` 方法,以便在介绍时同时显示个人信息和各自的标识。
相关问题
用java实现 创建一个 Person 类(父类),通过扩展创建 Student 和 Teacher 类(子类);并在主类 TestOne 里实现创建对象,成员变量的初始化、 方法调用等;
以下是Java实现:
//定义Person类
public class Person {
private String name;
private int age;
//构造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
//getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
//自我介绍方法
public void introduce() {
System.out.println("我是" + name + ",今年" + age + "岁。");
}
}
//定义Student类,继承自Person类
public class Student extends Person {
private String studentId;
//构造方法
public Student(String name, int age, String studentId) {
super(name, age);
this.studentId = studentId;
}
//getter和setter方法
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
//自我介绍方法,重写父类的自我介绍方法
@Override
public void introduce() {
System.out.println("我是学生" + getName() + ",今年" + getAge() + "岁,学号是" + studentId + "。");
}
}
//定义Teacher类,继承自Person类
public class Teacher extends Person {
private String teacherId;
//构造方法
public Teacher(String name, int age, String teacherId) {
super(name, age);
this.teacherId = teacherId;
}
//getter和setter方法
public String getTeacherId() {
return teacherId;
}
public void setTeacherId(String teacherId) {
this.teacherId = teacherId;
}
//自我介绍方法,重写父类的自我介绍方法
@Override
public void introduce() {
System.out.println("我是教师" + getName() + ",今年" + getAge() + "岁,工号是" + teacherId + "。");
}
}
//定义测试类TestOne
public class TestOne {
public static void main(String[] args) {
//创建一个Person对象,并访问其成员变量和方法
Person person = new Person("张三", 20);
person.introduce();
//创建一个Student对象,并访问其成员变量和方法
Student student = new Student("李四", 18, "001");
student.introduce();
//创建一个Teacher对象,并访问其成员变量和方法
Teacher teacher = new Teacher("王五", 25, "1001");
teacher.introduce();
}
}
输出结果如下:
我是张三,今年20岁。
我是学生李四,今年18岁,学号是001。
我是教师王五,今年25岁,工号是1001。
.设计一个包含5个类的java程序,名为person的父类有两个子类,学生类student和
设计一个包含5个类的Java程序,名为Person的父类有两个子类,学生类Student和教师类Teacher。
1. Person类是一个具有共同属性和方法的父类。它包含了姓名(name)和年龄(age)两个属性,并提供了访问和修改这些属性的方法。
2. 学生类(Student)是Person类的子类,继承了Person类的属性和方法,并扩展了一些学生独有的属性和方法。除了继承了姓名和年龄属性外,学生类还有班级(class)和学号(studentId)属性,以及与这些属性相关的访问和修改方法。
3. 教师类(Teacher)也是Person类的子类。和学生类类似,教师类继承了父类的属性和方法,并添加了一些教师独有的属性和方法。教师类包括任教科目(subject)和工号(teacherId)属性,以及与这些属性相关的访问和修改方法。
4. 在程序中,可以创建一个Person对象并使用其方法访问和修改姓名和年龄属性。同时,可以创建一个Student对象和一个Teacher对象,并使用它们的方法访问和修改学生和教师独有的属性。
5. 程序还可以定义一些其他方法,例如学生的学习方法和教师的授课方法。这些方法可以根据学生和教师的属性来执行相应的操作。
通过拥有Person类的基本属性和方法,以及学生类和教师类的特定属性和方法,这个Java程序能够模拟人员信息管理系统,实现基本的信息获取与修改功能,并区分学生和教师的不同特点和行为。
阅读全文