案例演示(老师案例)

具体事物:数学老师、体育老师
共性:姓名,年龄,讲课

  1. public class Demo5_Teacher {
  2. public static void main(String[] args) {
  3. BaseTeacher bt = new BaseTeacher("david",18);
  4. bt.teach();
  5. SportTeacher st = new SportTeacher("sally",18);
  6. st.teach();
  7. }
  8. }

Teacher.java

  1. abstract class Teacher{
  2. private String name;
  3. private int age;
  4. public Teacher() {
  5. }
  6. public Teacher(String name, int age) {
  7. this.name = name;
  8. this.age = age;
  9. }
  10. public String getName() {
  11. return name;
  12. }
  13. public void setName(String name) {
  14. this.name = name;
  15. }
  16. public int getAge() {
  17. return age;
  18. }
  19. public void setAge(int age) {
  20. this.age = age;
  21. }
  22. /**
  23. * 抽象方法讲课
  24. */
  25. public abstract void teach();
  26. }

BaseTeacher.java

  1. class BaseTeacher extends Teacher{
  2. public BaseTeacher() {
  3. super();
  4. }
  5. public BaseTeacher(String name, int age) {
  6. super(name, age);
  7. }
  8. @Override
  9. public void teach() {
  10. System.out.println("奇变偶不变,符号看象限");
  11. }
  12. }

SportTeacher.java

  1. class SportTeacher extends Teacher{
  2. public SportTeacher() {
  3. }
  4. public SportTeacher(String name, int age) {
  5. super(name, age);
  6. }
  7. @Override
  8. public void teach() {
  9. System.out.println("百米赛跑准备,预备...跑");
  10. }
  11. }