Java oop8:声明员工抽象类,声明各个员工的子类继承抽象类实现员 工工资计算的案例

//公司计算工资:公司员工分为经理和普通员工,普通员工又有 计件员工和销售员工,
//计件员工的工资计算是基本工资加上( 件数-保底30件)*单价,销售员工的工资是基本工资+销售量* 单价。
//问题:声明员工抽象类,声明各个员工的子类继承抽象类实现员 工工资计算的案例,在主函数中调用它
//经理工资:15000
//计件员工:5000基本工资 单价:30
//销售员工:4000基本工资 单价:50(选做)
package a;
public class Student {
public static void main(String[] args) {
yuanGong j=new jiJianYuanGong ("袁工",100,120);
((jiJianYuanGong )j).gongNeng();
yuanGong x=new xiaoShouYuanGong ("袁销",101,121);
((xiaoShouYuanGong )x).gongNeng();
yuanGong c=new jingLi("景丽",101,121);
((jingLi)c).gongNeng();
}
}
interface kaiHui{
void gongNeng();
}
abstract class yuanGong{
public String name;
public int jianShu;
public int xiaoShouLiang;
public yuanGong(String name,int jianShu,int xiaoShouLiang) {
super();
this.name = name;
this.jianShu = jianShu;
this.xiaoShouLiang = xiaoShouLiang;
}
}
class puTongYuanGong extends yuanGong implements kaiHui{
public puTongYuanGong(String name,int jianShu,int xiaoShouLiang) {
super(name,jianShu,xiaoShouLiang);
}
@Override
public void gongNeng() {
}
}
class jiJianYuanGong extends puTongYuanGong implements/*接口*/ kaiHui{
public jiJianYuanGong(String name,int jianShu,int xiaoShouLiang) {
super(name,jianShu,xiaoShouLiang);
}
@Override
public void gongNeng() {
System.out.println(this.name+"是计件员工,工资为"+(5000+jianShu*30));
}
}
class xiaoShouYuanGong extends puTongYuanGong implements/*接口*/ kaiHui{
public xiaoShouYuanGong(String name,int jianShu,int xiaoShouLiang) {
super(name,jianShu,xiaoShouLiang);
}
@Override
public void gongNeng() {
System.out.println(this.name+"是销售员工,工资为"+(4000+xiaoShouLiang*50));
}
}
class jingLi extends yuanGong implements kaiHui{
public jingLi(String name,int jianShu,int xiaoShouLiang) {
super(name,jianShu,xiaoShouLiang);
}
@Override
public void gongNeng() {
System.out.println(this.name+"是经理,工资为15000");
}
}
