子类与继承:实验3

来源:互联网 发布:galgame翻译软件 编辑:程序博客网 时间:2024/05/21 12:48

抽象类:

package Employee_;public abstract class Employee {public abstract double earnings(double money);}

子类:

package Employee_;public class YearWorker extends Employee{@Overridepublic double earnings(double day_money) {// TODO Auto-generated method stubreturn day_money*30*12*2;}}


package Employee_;public class WeekWorker extends Employee{@Overridepublic double earnings(double day_money) {// TODO Auto-generated method stubreturn (day_money+100)*7;}}


package Employee_;public class MonthWorker extends Employee{@Overridepublic double earnings(double day_money) {// TODO Auto-generated method stubreturn day_money*30;}}


类:

/** *  *//** * @author Administrator * */import Employee_.*;public class Company {Employee a[];double salariespay=0;public double salariesPay(Employee[] guy,double day_money) {a=guy;for(int i=0; i<a.length; i++) {salariespay+=a[i].earnings(day_money);}return salariespay;}}

主类:

import Employee_.*;public class CompanySalary {public static void main(String[] args) {// TODO 自动生成的方法存根Employee guy[]=new Employee[29];for(int i=0; i<guy.length; i++) {if(i%3==0) guy[i]=new WeekWorker();else if(i%3==1) guy[i]=new MonthWorker();else guy[i]=new YearWorker();}Company a=new Company();System.out.println("公司薪水总额:"+a.salariesPay(guy, 780)+'元');}}