A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 云沾衣。 中级黑马   /  2015-9-6 21:27  /  403 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
        请用抽象类体现如下代码:
        需求:公司中程序员有姓名,工号,薪水,工作内容。
              项目经理除了有姓名,工号,薪水,还有奖金,工作内容。
        思路:
        员工(程序员、项目经理)
                姓名 工号 薪水
                工作

        程序员 简单的继承
        项目经理 简单继承+奖金
        //员工抽象类
*/
/**
        员工抽象类
*/
abstract class Staff{
        /**姓名,工号,薪水*/
        private String name;
        private String number;
        private int money;
        //无参
        public Staff(){}
        //带参
        public Staff(String name,String number,int money){
                this.name = name;
                this.money = money;
                this.number = number;
        }
        /**工作内容*/
        public abstract void Work();
        /**获取姓名,工号,薪水*/
        public void setName(String name){
                this.name = name;
        }
        public String getName(){
                return name;
        }

        public void setNumber(String number){
                this.number = number;
        }
        public String getNumber(){
                return number;
        }

        public void setMoney(int money){
                this.money = money;
        }
        public int getMoney(){
                return money;
        }
}
/**
        程序员
*/
class Programmer extends Staff{
        //无参
        public Programmer(){}
        /**工作内容*/
        public void Work(){
                System.out.println("工作内容:每天都在敲代码zzZ...");
        }
}
/**
        项目经理
*/
class Manager extends Staff{
        /**奖金*/
        private int award ;
        //无参
        public Manager(){}
        /**工作内容*/
        public void Work(){
                System.out.println("工作内容:每天都在喝茶zzZ...");
        }
        /**获取奖金*/
        public void setAward(int award){
                this.award = award;
        }
        public int getAward(){
                return award;
        }
}
/**
        测试类
*/
class StaffTest{
        public static void main(String[] args){
                //测试程序员
                //创建对象
                Staff s = new Programmer();
                s.setName("坂田银时");
                s.setNumber("WS007");
                s.setMoney(1);
                System.out.println("程序员:"+s.getName());
                System.out.println("代号:"+s.getNumber());
                System.out.println("工资:"+s.getMoney()+"元钱");
                s.Work();
                System.out.println("----------------------");
                //测试项目经理
                Staff s1 = new Manager();
                Manager m = (Manager)s1;
                s1.setName("皮卡丘");
                s1.setNumber("WS666");
                s1.setMoney(100000000);
                System.out.println("项目经理:"+s1.getName());
                System.out.println("代号:"+s1.getNumber());
                System.out.println("工资:"+s1.getMoney()+"元钱");
                s1.Work();
                //测试奖金
                m.setAward(100000000);
                System.out.println("奖金:"+m.getAward()+"元钱");
        }

}

1 个回复

倒序浏览
用ecplicesc很快就做出来了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马