java抽象类案例_数据建模java抽象类案例_数据建模_02
 1 package face_09;
 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 abstract class Employee {
27     private String name;
28     private String id;
29     private double pay;
30     Employee(String name,String id,double pay){
31         this.name = name;
32         this.id = id;
33         this.pay = pay;
34     }
35     public abstract void work();
36 }
37 //程序员
38 class Programmer extends Employee {
39     Programmer(String name,String id,double pay){
40         super(name, id, pay);
41         
42     }
43     public void work() {
44         System.out.println("code...");
45     }
46 }
47 //描述经理。
48 class Manager extends Employee {
49     private int bonus;
50     Manager(String name,String id,double pay,int bonus){
51         super(name, id, pay);
52         this.bonus = bonus;
53     }
54     public void work() {
55         System.out.println("manage");
56     }
57 }
58 
59 public class AbstractTest {
60     public static void main(String[] args) {
61         System.out.println("Hello World!");
62     }
63 }
View Code