Java:一个完整OO设计

任务描述:公司要对两类人进行收入计算:老板收入=工资+股份红利;员工=工资+奖金。
设计整体要求:各个类要完成的的计算在内部完成。

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 、另一个策略是:人员只保存基本信息和基本方法,另外再建立一个计算类,专门对各业人员进行计算。

说明:出于学习目的,本系统的设计的整体要求:各个类要完成的的计算在内部完成。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值