分析学生类和教师类,找到老师类和学生类当中的共性内容,抽取出一个父类,用继承的方式编写一个父类(Person), 两个子类:学生类(Student)和教师类(Teacher);用java写,并实现
时间: 2024-01-24 15:17:03 浏览: 108
学生类和老师(java)
好的,我来帮你实现这个题目。
首先,我们分析一下学生类和教师类的共性:
1. 都有姓名(name)和年龄(age)属性;
2. 都可以自我介绍(introduce);
3. 都有工作(work)。
因此,我们可以把这些共性内容抽取出来,作为一个父类Person。
下面是Person类的代码:
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void introduce() {
System.out.println("大家好,我叫" + name + ",今年" + age + "岁了。");
}
public void work() {
System.out.println("我是一名人类,我要工作。");
}
}
```
接下来,我们编写子类Student和Teacher,并继承Person类。
```java
public class Student extends Person {
public Student(String name, int age) {
super(name, age);
}
@Override
public void work() {
System.out.println("我是一名学生,我的工作是学习。");
}
}
public class Teacher extends Person {
public Teacher(String name, int age) {
super(name, age);
}
@Override
public void work() {
System.out.println("我是一名教师,我的工作是教书育人。");
}
}
```
在子类中,我们重写了父类中的work()方法,来实现不同的工作内容。
接着,我们可以编写一个测试类,来测试我们的代码是否正确。
```java
public class Test {
public static void main(String[] args) {
Person person1 = new Student("小明", 18);
Person person2 = new Teacher("李老师", 30);
person1.introduce();
person1.work();
person2.introduce();
person2.work();
}
}
```
运行测试类,输出结果如下:
```
大家好,我叫小明,今年18岁了。
我是一名学生,我的工作是学习。
大家好,我叫李老师,今年30岁了。
我是一名教师,我的工作是教书育人。
```
可以看到,我们的代码实现成功了。
阅读全文