黑马程序员技术交流社区

标题: 构造方法 企业案例 [打印本页]

作者: 悠悠呦呦    时间: 2016-8-26 22:23
标题: 构造方法 企业案例
定义员工类(抽象类)
public abstract class Employee {
        private String id;// 员工编号
        private String name; // 员工姓名
       
        //空参数构造方法
        public Employee() {
                super();
        }
        //有参数构造方法
        public Employee(String id, String name) {
                super();
                this.id = id;
                this.name = name;
        }
        public String getId() {
                return id;
        }
        public void setId(String id) {
                this.id = id;
        }
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        //工作方法(抽象方法)
        public abstract void work();
}
l 定义研发部员工类Developer 继承 员工类Employee
public abstract class Developer extends Employee {
        //空参数构造方法
        public Developer() {
                super();
        }
        //有参数构造方法
        public Developer(String id, String name) {
                super(id, name);
        }
}
l 定义维护部员工类Maintainer 继承 员工类Employee
public abstract class Maintainer extends Employee {
        //空参数构造方法
        public Maintainer() {
                super();
        }
        //有参数构造方法
        public Maintainer(String id, String name) {
                super(id, name);
        }
}
l 定义JavaEE工程师 继承 研发部员工类,重写工作方法
public class JavaEE extends Developer {
        //空参数构造方法
        public JavaEE() {
                super();
        }
        //有参数构造方法
        public JavaEE(String id, String name) {
                super(id, name);
        }
        @Override
        public void work() {
                System.out.println("员工号为 " + getId() + " " + getName() + " 员工,正在研发淘宝网站");
        }
}
l 定义Android工程师 继承 研发部员工类,重写工作方法
public class Android extends Developer {
        //空参数构造方法
        public Android() {
                super();
        }
        //有参数构造方法
        public Android(String id, String name) {
                super(id, name);
        }
        @Override
        public void work() {
                System.out.println("员工号为 " + getId() + " " + getName() + " 员工,正在研发淘宝手机客户端软件");
        }
}
l 定义Network网络维护工程师 继承 维护部员工类,重写工作方法
public class Network extends Maintainer {
        //空参数构造方法
        public Network() {
                super();
        }
        //有参数构造方法
        public Network(String id, String name) {
                super(id, name);
        }
        @Override
        public void work() {
                System.out.println("员工号为 " + getId() + " " + getName() + " 员工,正在检查网络是否畅通");
        }
}
l 定义Hardware硬件维护工程师 继承 维护部员工类,重写工作方法
public class Hardware extends Maintainer {
        //空参数构造方法
        public Hardware() {
                super();
        }
        //有参数构造方法
        public Hardware(String id, String name) {
                super(id, name);
        }
        @Override
        public void work() {
                System.out.println("员工号为 " + getId() + " " + getName() + " 员工,正在修复打印机");
        }
}
l 在测试类中,创建JavaEE工程师对象,完成工作方法的调用
public class Test {
        public static void main(String[] args) {
                //创建JavaEE工程师员工对象,该员工的编号000015,员工的姓名 小明
                JavaEE ee = new JavaEE("000015", "小明");
                //调用该员工的工作方法
                ee.work();
        }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2