Java:一个完整OO设计
2007-04-25 10:14
330 查看
任务描述:公司要对两类人进行收入计算:老板收入=工资+股份红利;员工=工资+奖金。
设计整体要求:各个类要完成的的计算在内部完成。
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、另一个策略是:人员只保存基本信息和基本方法,另外再建立一个计算类,专门对各业人员进行计算。
说明:出于学习目的,本系统的设计的整体要求:各个类要完成的的计算在内部完成。
设计整体要求:各个类要完成的的计算在内部完成。
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、另一个策略是:人员只保存基本信息和基本方法,另外再建立一个计算类,专门对各业人员进行计算。
说明:出于学习目的,本系统的设计的整体要求:各个类要完成的的计算在内部完成。
相关文章推荐
- (学习java)写一个完整的程序,实现随机生成20个元素的链表,快速查找中间结点的值并显示
- 疯狂java讲义中的习题,设计一个简单的计算器。
- 游戏服务端中使用Servlet和Java注解的一个好设计
- spring框架与设计模式-- OO基础和OO原则(一个目的、四个特征、五大原则)
- 一个完整的壁纸应用——[仿爱壁纸],从设计到实现的过程
- java最基础类的设计之判断一个类是不是一个设计良好的类
- 一个推荐系统,实现完整的设计-在百度搜索关键词推荐案例
- java 设计一个停车场
- JAVA课程设计-V-20161228-解决按一个菜单弹出两个窗口的BUG
- Java设计一个表示学生的类
- 【原创】纯OO:从设计到编码写一个FlappyBird (一)
- 【原创】纯OO:从设计到编码写一个FlappyBird (三)
- /*设计一个鼠标点击速度比赛游戏。 *(1)显示一个按钮和文本框。 *(2)文本框显示鼠标点击次数*/ import javax.swing.*;//引用 import java.awt.*; i
- 超赞干货!一个完整的UI设计流程是怎样的?
- 使用Power Designer进行一个完整的系统分析和设计
- Java 异常类层次结构及怎样设计一个高效合理的异常处理框架
- 剑指OFFER(java)-设计一个只能创建一个唯一实例的类——单例模式
- 一个高效,良好的java验证码设计思路
- 一个完整推荐系统的设计实现-以百度关键词搜索推荐为例
- Java核心知识点学习----线程中如何创建锁和使用锁 Lock,设计一个缓存系统