1.老师案例
/*
老师案例
具体事物:数学老师,英语老师
共性:name,age,teach
分析:
数学老师
姓名,年龄
讲课
英语老师
姓名,年龄
讲课
实现:
老师类
数学老师类
英语老师类
*/
//定义老师类(抽象)
abstract class Teacher{
private String name;
private int age;
//定义无参构造函数
public Teacher(){
}
//定义有参构造函数
public Teacher(String name,int age){
this.name=name;
this.age=age;
}
//定义抽象方法
abstract void teach();
//getter & setter
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;
}
}
//定义数学老师类
class MathTeacher extends Teacher{
//无参构造,记得没有返回值类型
public MathTeacher(){
}
public MathTeacher(String name,int age){
super(name,age);
}
public void teach(){
System.out.println("我是数学老师,我爱数学");
}
}
//定义英语老师
class EnglishTeacher extends Teacher{
//无参构造,记得没有返回值类型
public EnglishTeacher(){
}
public EnglishTeacher(String name,int age){
super(name,age);
}
public void teach(){
System.out.println("我是英语老师,我教英语");
}
}
//测试
class AbstractTest{
public static void main(String[] args)
{
Teacher t=new MathTeacher();
t.setName("章三");
t.setAge(12);
System.out.println(t.getName()+"--"+t.getAge());
t.teach();
//英语老师
t=new EnglishTeacher();
t.setAge(17);
}
}
2.学员案例
/*
学生案例
具体事物:基础班学生,就业班学生
共性:姓名,年龄,班级,学习,吃饭
分析
基础班学员
成员变量:姓名,年龄,班级
成员方法:学习,吃饭
就业班学员
成员变量:姓名,年龄,班级
成员方法:学习,吃饭
实现:
学员类
基础班学员
就业班学员
*/
//定义学员类
abstract class student{
private String name;
private int age;
private int banji;
//无参构造方法
public student(){ }
//有参构造方法
public student(String name,int age,string banji){
this.name=name;
this.age=age;
this.banji=banji;
}
//getter & setter
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 String getBanji(){
return banji;
}
public void setBanji(String banji){
this.banji=banji;
}
public abstract void study();
public void eat(){
System.out.println("学习累了,该吃饭了~");
}
}
//定义基础班学员类
class BasicStudent extends Student{
public BasicStudent(){}
public BasicStudent(String name,int age,String banji){
super(name,age,banji);
}
public void study(){
System.out.println("基础班的学院学基础");
}
}
//就业班
class WorkStudent extends Student{
public WorkStudent(){}
public WorkStudent(String name,int age,String banji){
super(name,age,banji);
}
public void study(){
System.out.println("就业班的去就业");
}
}
class AbstractTest2{
//测试
Student s=new BasicStudent();
}