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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 追逐 高级黑马   /  2014-3-14 11:04  /  794 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
        假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性;
        姓名、工号以及工资、经理也是员工。出来含有员工的属性外,另为还有一个
        奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方
        法进行属性访问。
       
        员工类包含三个属性:姓名(name)、工号(id)、工资(pay);
        经理类:继承了员工。并有自己特有的奖金bonus.
        并且都有一个工作的函数
*/
//员工类
abstract class Employee {

        private String name;
        private String id;
        private double pay;
        Employee(String name, String id, double pay) {
                this.name = name;
                this.id = id;
                this.pay = pay;
        }
       
        //因为其不知道员工和经理的具体工作是什么,所以定义一个抽象方法。用于被别的类重写
        abstract void work();
       
}

//定义一个具体员工的类
class Pro extends Employee {
       
        Pro(String name, String id, double pay) {
                super(name, id, pay);
        }
       
        public void work() {
                System.out.println("员工打字");
        }
       
}

//定义一个经理类
class Manager extends Employee {

        private double bonus;
        Manager(String name, String id, double pay, double bonus) {
                super(name, id, pay);
                this.bonus = bonus;
        }
       
        public void work() {
                System.out.println("经理管着人");
        }
       
}

//测试类
class AbstractTest {
        public static void main(String[] args) {
                Pro p = new Pro("张三", "2012020", 32);
                p.work();
                Manager m = new Manager("李四", "3202030", 32, 21);
                m.work();
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马