1 /** 2 雇员示例: 3 需求:公司中程序员有姓名,工号,薪水,工作内容 4 项目经理除了有姓名,工号,薪水还有奖金,工作内容 5 对给出需求进行数据建模 6 7 8 分析: 9 在这个问题领域中,先找出涉及的对象10 通过名词提炼法11 程序员:12 属性:姓名,工号,薪水13 行为:工作14 经理:15 属性:姓名,工号,薪水,奖金16 行为:工作17 18 19 程序员和经理不存在直接继承关系,20 但是程序员和经理却具有共性内容,21 可以进行抽取,因为他们都是公司的雇员22 23 可以将程序员和经理进行抽取,建立体系24 */25 26 //公司体系的建立27 28 //雇员29 class Employee30 {31 private String name;32 private String id;33 private double pay;34 Employee(String name,String id,double pay)35 {36 this.name=name;37 this.id=id;38 this.pay=pay;39 }40 public abstract void work()41 }42 43 //描述程序员44 class Programmer extends Employee45 {46 Programmer(String name,String id,double pay)47 {48 super(name,id,pay);49 }50 public void work()51 {52 System.out.println("code...");53 }54 }55 56 //描述经理57 class Manger extends Employee58 {59 private int bonus;60 Manger(String name,String id,double pay,int bonus)61 {62 super(name,id,pay);63 this.bonus=bonus;64 }65 public void work()66 {67 System.out.println("manage");68 }69 }