zoukankan      html  css  js  c++  java
  • 复习面向对象---员工案例

    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();
        }
    }
  • 相关阅读:
    代码审计变成CTF
    updatexml()报错注入
    一道综合渗透题引发的updatexml()注入思考
    Visual Studio 调试技巧---指针,元素个数
    在Visual Studio中调试时,如何检查有关进程令牌的详细信息?
    在调试时,有什么更好的方法可以监视最后一个win32错误?
    从WinDbg中的转储查看操作系统版本和SP详细信息
    可以使用WinDbg将PE映像作为转储文件打开
    常见WinDbg问题及解决方案
    在崩溃转储中查找所有可能的上下文记录
  • 原文地址:https://www.cnblogs.com/yikuan-919/p/9532381.html
Copyright © 2011-2022 走看看