任务描述:公司要对两类人进行收入计算:老板收入=工资+股份红利;员工=工资+奖金。设计整体要求:各个类要完成的的计算在内部完成。 1、先写空结构 package base; public class NoInstanceOf { public static void main(String[] args){ }} class Employee { //共性:收入与工资 private double income; private double salary;} class Worker extends Employee { //奖金 private double bonus; } class Boss extends Employee { //股份 private double stock;} 2、设计实现 package base; public class CalcSimple { public static void main(String[] args){ //步骤:1.创建实例2.设置相关数据3.调用计算过程4.求值 Worker worker1 = new Worker(); worker1.setSalary(1000); worker1.setBonus(2000); worker1.calc(); System.out.println("员工收入:"+worker1.getIncome()); Boss boss1 = new Boss(); boss1.setSalary(1000); boss1.setStock(10000); boss1.calc(); System.out.println("老板收入:"+boss1.getIncome()); }} class Employee { //共性:收入与工资 private double income; private double salary; public double getIncome() { return income; } public void setIncome(double income) { this.income = income; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } } class Worker extends Employee { //奖金 private double bonus; public double getBonus() { return bonus; } public void setBonus(double bonus) { this.bonus = bonus; } public void calc(){ this.setIncome(this.getSalary()+this.getBonus()); } } class Boss extends Employee { //股份 private double stock; public double getStock() { return stock; } public void setStock(double bonus) { this.stock = bonus; } public void calc(){ this.setIncome(this.getSalary()+this.getStock()); } } 3、分析总结 一、设计时要注意的问题: 1.1 、先画出空结构 1.2 、想出调用步骤(如:) 1.3 、要按Java开发常用模式进行设计,不要想简单而直接将内部组成(如收留income)设置为public。二、优点: 2.1 :直接了当,思路清楚。 2.3 、适合小项目以及项目内部开发人员,其它人用要对类之间的关系了解得很清楚才能使用。三、缺点及其它策略: 3.1 、如果公司有很多人员种类:股东、总经理、项目经理、组长、员工、保安……那么每个都必须完成这种计算方法。 3.2 、另一个策略是:人员只保存基本信息和基本方法,另外再建立一个计算类,专门对各业人员进行计算。说明:出于学习目的,本系统的设计的整体要求:各个类要完成的的计算在内部完成。