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

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();
    }
}
原文地址:https://www.cnblogs.com/yikuan-919/p/9532381.html