定义人 有行为(吃饭睡觉打豆豆,父类,派生两个子类,学生和老师,学生的属性:学习,老师:授课,子类里要用到super 父类people派生两个子类,再加一个测试类文件夹:学号姓名放程序代码就行
时间: 2024-10-13 14:13:04 浏览: 13
在面向对象编程中,定义一个人这个概念通常会创建一个名为"Person"的抽象类或者父类,它包含了基本的行为特征,比如吃饭、睡觉等通用的行为。在这个例子中,我们有三个相关的类:
1. **ParentClass (People)**: 这是一个父类,代表一般的人,可能有一些通用的方法,如eat(), sleep() 和 commonBehavior()。
```java
public class People {
// 父类的通用行为
public void eat() {
System.out.println("这个人正在吃饭");
}
public void sleep() {
System.out.println("这个人正在睡觉");
}
}
```
2. **ChildClass1 (Student)**: 学生是人的一种特殊形式,除了继承自People,还添加了特有的学习行为,并可能需要调用super关键字来访问父类的方法。
```java
public class Student extends People {
private String studentId;
private String name;
public void learn() {
super.eat(); // 调用父类的eat方法
System.out.println("学生正在学习");
}
// 构造函数和getter/setter省略...
}
```
3. **ChildClass2 (Teacher)**: 同样地,教师也从People派生,除了授课行为外,也可能调用父类的方法。
```java
public class Teacher extends People {
private String teacherId;
private String title;
public void teach() {
super.sleep(); // 调用父类的sleep方法
System.out.println("教师正在授课");
}
// 构造函数和getter/setter省略...
}
```
4. **Testing Class**: 为了测试这些类,你可以创建一个测试类,比如`TestPerson.java`,包含一个主函数,用于实例化并操作这些对象。
```java
public class TestPerson {
public static void main(String[] args) {
Student student = new Student();
student.eat();
student.learn();
Teacher teacher = new Teacher();
teacher.sleep();
teacher.teach();
// ...其他测试代码
}
}
```
在测试类文件夹中,你需要编写上述测试类,将学生的学号、姓名和老师的ID、姓名作为对象的属性,并按照需求进行操作。
阅读全文