【案例4-4】学生和老师
在班级中上课时,老师在讲台上讲课,偶有提问,会点名学生回答问题。虽然老师和学生都在讲话,但讲话的具体内容却不相同。本案例要求使用抽象类的知识编写一个程序实现老师上课的情景。
此案例分为四个类Person Student Teacher Test类
Person类
public abstract class Person { private String name; private int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } 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 abstract void say(); }
Student类
public class Student extends Person{ public Student (){ } public Student(String name,int age){ super(name,age); } @Override public void say() { System.out.println("学生姓名"+getName()+",年龄"+getAge()+".学生负责回答问题"); } }
Teacher类
public class Teacher extends Person{ public Teacher(){ } public Teacher(String name, int age){ super(name,age); } @Override public void say() { System.out.println("学生姓名"+getName()+",年龄"+getAge()+".老师负责提问问题"); } }
Test类
public class Test { public static void main(String[] args) { Student stu=new Student("张三",23); stu.say(); Teacher t =new Teacher("李四",24); t.say(); } }