Java面向第三天
来源:互联网 发布:支付系统网络硬件架构 编辑:程序博客网 时间:2024/06/08 15:24
Java面向
接上一天,继续升入面向
作业:还是在上一家公司,该公司将职员分为三类:部门经理、技术员和销售员。在发工资的时候,部门经理拿固定月薪8000元,技术人员按每小时100元领取月薪,销售人员按照500元底薪加当月销售额的4%进行提成,设计并实现一个工资结算系统。
创建父类(员工)
public abstract class Employee { private String name; public String getName() { return name; } public Employee(String name) { this.name = name; } public abstract double getSalary(); @Override public String toString(){ return name; }
子类程序员
public class Programmer extends Employee { private double Hour; public Programmer(String name) { super(name); } @Override public double getSalary() { return 100*Hour; } public double getHour() { return Hour; } public void setHour(double d) { this.Hour = d; } public String toString(){ return "程序员"+super.toString();}}
子类经理
public class Manager extends Employee { public Manager(String name) { super(name); } public double getSalary() { return 8000.0; } public String toString() { return "[部门经理]" + super.toString(); } }
子类销售员
public class Salesman extends Employee { private double sales; public double getSales() { return sales; } public void setSales(double sales) { this.sales = sales; } public Salesman(String name) { super(name); } @Override public double getSalary() { return 1200 + sales * 0.05; }}
实现类
import java.util.Scanner;public class SalaryCalculate { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] names = {"李琪","黄南桥","赖彬","何坤","谷振东"}; Employee[] minzi = new Employee[names.length] ; for (int i = 0; i < minzi.length; i++) { int empType = (int) (Math.random() * 3); switch (empType) { case 0: minzi[i] = new Manager(names[i]); break; case 1: minzi[i] = new Programmer(names[i]); break; case 2: minzi[i] = new Salesman(names[i]); break; } } for(Employee e : minzi) { if(e instanceof Programmer) { System.out.print("请输入" + e.getName() + "的本月工作时间: "); ((Programmer) e).setHour(sc.nextInt()); } else if(e instanceof Salesman) { System.out.print("请输入" + e.getName() + "的本月销售额: "); ((Salesman) e).setSales(sc.nextDouble()); } System.out.println(e.getName() + "本月工资为: " + e.getSalary()); } sc.close(); }}
0 0
- Java面向第三天
- JAVA面向对象第三天
- 第三天----Java基础---面向对象上
- Java第三天,面向对象1
- 第三天-Java面向一些问题
- java学习--面向对象(第三天)
- 面向对象第三天
- java 第三天 面向对象(基础篇)
- Java学习第三天
- Java学习第三天
- 学习Java第三天
- java第三天 API
- Java第三天
- Java学习第三天
- Java基础----第三天
- JAVA-第三天
- java学习第三天
- java第三天
- 利用Filter禁止直接访问JSP
- 循环的代价
- 线程同步四机制
- PHP 难解
- 强大全面的表单封装工具类
- Java面向第三天
- 就从今天开始吧
- td中文字靠上
- 进程死锁
- 堆和栈的区别
- POJ 2965 The Pilots Brothers' refrigerator
- Java复习笔记17【JDBC查询1】
- 阶段性反思总结
- SOA架构设计经验分享—架构、职责、数据一致性