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();
        }
    }
  • 相关阅读:
    C# 随机生成姓名的方法
    Task 异步编程测试案例及基础应用说明
    C# 多线程 Parallel.For 和 For 谁的效率高?那么 Parallel.ForEach 和 ForEach 呢?
    C# SignalR 即时通信
    C#中out和ref之间的区别
    LInq之Take Skip TakeWhile SkipWhile Reverse Union Concat 用法
    C# LINQ 详解 From Where Select Group Into OrderBy Let Join
    JS 数组去重的几个方法
    attachEvent和addEventListener区别
    Event事件跨浏览器封装
  • 原文地址:https://www.cnblogs.com/yikuan-919/p/9532381.html
Copyright © 2011-2022 走看看