• 复习面向对象---员工案例


    Employee.java

    package com.yikuan.cn;
    /**
     * 定义员工类,内容:都是所有子类的共性抽取,姓名、工号、工作方法
     * @author Administrator
     *
     */
    public abstract class Employee {
        /*姓名*/
        private String name;
        /*工号*/
        private String ID;
        /*定义工作方法,由于工作内容不同,所有定义成抽象方法*/
        public abstract void work();
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getID() {
            return ID;
        }
        public void setID(String iD) {
            ID = iD;
        }
        
    }

    Develop.java

    package com.yikuan.cn;
    /**
     * 定义研发员工类,继承员工类
     * @author Administrator
     *
     */
    public abstract class Develop extends Employee{
        /*继承抽象类,必须重写抽象方法;如果不重写抽象方法,则将本类变为抽象类*/
        /*若定义为抽象类,目前没有什么用途,后期如果有开发人员的特性属性,可以定义*/
    //    @Override
    //    public void work() {
    //        
    //    }
    
    }

    Maintainer.java

    package com.yikuan.cn;
    /**
     * 定义维护员工类,继承员工类
     * @author Administrator
     *
     */
    public abstract class Maintainer extends Employee{
        
    }

    JavaEE.java

    package com.yikuan.cn;
    /**
     * java开发人员是研发部门员工的一种,继承研发部
     * @author Administrator
     *
     */
    public class JavaEEer extends Develop{
        /*重写父类的父类的抽象方法*/
        @Override
        public void work() {
            System.out.println(super.getID()+super.getName()+"是JavaEE的工程师,在开发淘宝!!");
        }
    
    }

    NetWork.java

    package com.yikuan.cn;
    /**
     * 网络维护工程师,属于维护的员工
     * @author Administrator
     *
     */
    public class NetWork extends Maintainer{
    
        @Override
        public void work() {
            System.out.println(super.getID()+super.getName()+"是网络维护工程师,在检测网络!");
        }
    
    }

    Androider.java

    package com.yikuan.cn;
    
    public class Androider extends Develop{
    
        @Override
        public void work() {
            System.out.println(super.getID()+super.getName()+"是安卓工程师,在开发哔哩哔哩-手机APP!");
        }
    
    }

    YJMaintainer.java

    package com.yikuan.cn;
    
    public class YJMaintainer extends Maintainer {
    
        @Override
        public void work() {
            System.out.println(super.getID()+super.getName()+"是硬件维护工程师,在检测硬件问题!");
        }
    
    }

    Test1.java

    package com.yikuan.cn;
    /**
     * 测试员工的案例,创建子类对象
     * @author Administrator
     *
     */
    public class Test1 {
        public static void main(String[] args) {
            JavaEEer je = new JavaEEer();
            NetWork nw = new NetWork();
            Androider ad = new Androider();
            YJMaintainer yj = new YJMaintainer();
            je.setName("小明");
            je.setID("研发部001");
            nw.setName("小李");
            nw.setID("维护部002");
            ad.setName("李四");
            ad.setID("研发部002");
            yj.setName("Jack");
            yj.setID("维护部001");
            je.work();
            nw.work();
            ad.work();
            yj.work();
        }
    }
  • 相关阅读:
    Java 中节省 90% 时间的常用的工具类
    一文彻底弄懂cookie、session、token
    Java 中 this 和 super 的用法详解
    java对接c++发布的webservice接口,其中参数类型有base64Binary格式(无需将图片数据转化为c++中的结构体)
    mysql免安装版下载及安装教程
    selenium python 入门-元素定位
    软件测试白皮书-测试综合策略
    软件测试白皮书-正交试验设计方法
    软件测试白皮书-因果图
    软件测试白皮书-判定表法
  • 原文地址:https://www.cnblogs.com/yikuan-919/p/9532381.html
Copyright © 2020-2023  润新知