1. 程式人生 > >抽象類練習老師案例

抽象類練習老師案例

/*
老師案例
具體事物:基礎班老師,就業班老師
共性:姓名,年齡,講課。


分析:
基礎班老師
姓名,年齡
講課。
就業班老師
姓名,年齡
講課。
實現:
老師類
基礎班老師
就業班老師
*/
//定義抽象的老師類
abstract class Teacher {
//姓名
private String name;
//年齡
private int age;

public Teacher() {}

public Teacher(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 teach();
}


//基礎班老師類
class BasicTeacher extends Teacher
{
public BasicTeacher(){}

public BasicTeacher(String name,int age) {
super(name,age);
}

public void teach() {
System.out.println("基礎班老師講解JavaSE");
}
}


//就業班老師類
class WorkTeacher extends Teacher {
public WorkTeacher(){}

public WorkTeacher(String name,int age) {
super(name,age);
}

public void teach() {
System.out.println("就業班老師講解JavaEE");
}
}


class AbstractTest2 {
public static void main(String[] args) {
//具體的類測試,自己玩

//測試(多型)
//基礎班老師
Teacher t
= new BasicTeacher();
t.setName("劉意");
t.setAge(30);
System.out.println(t.getName()+"---"+t.getAge());
t.teach();
System.out.println("--------------");

t = new BasicTeacher("劉意",30);
System.out.println(t.getName()+"---"+t.getAge());
t.teach();
System.out.println("--------------");

//就業班老師
t = new WorkTeacher();
t.setName("林青霞");
t
.setAge(27);
System.out.println(t.getName()+"---"+t.getAge());
t.teach();
System.out.println("--------------");

t = new WorkTeacher("林青霞",27);
System.out.println(t.getName()+"---"+t.getAge());
t.teach();
}
}