雇员实例
需求:公司中程序员有姓名,工号,薪水,工作内容
项目经理,比程序员,多一个奖金。对给出的需求进行数据建模
分析
对这个问题领域中,先找出涉及的对象,通过名词提炼法
- 程序员:
- 属性:姓名、工号、薪水
- 方法:工作
- 经理:
- 属性:姓名、工号、薪水、奖金
- 方法:工作
程序员和经理之间不存在继承关系,但是两个之间都有共性,我们可以将他抽取出来,因为他们都是公司的雇员。
可以将程序员和经理进行抽取,建立体系。
abstract class Employee{
private String name;
private String id;
private double pay;
Employee (String name,String id,double pay){
this.name = name;
this.id = id;
this.pay = pay;
}
public abstract void work();
}
class Programmer extends Employee{
Programmer(String name,String id,double pay){
super(name,id,pay);
}
public void work(){
System.out.println("codeing....");
}
}
class Manage extends Employee{
private int bouns;
Manage(String name,String id,double pay,int bouns){
super(name,id,pay);
this.bouns = bouns;
}
public void work(){
System.out.println("manage");
}
}
class AbstractTest{
public static void main (String[] arg){
Programmer pro = new Programmer("mahuateng","10000",10000);
Manage man = new Manage("mayun","10086",88888,10000);
pro.work();
man.work();
}
}