第十一章案例 完整员工类

/*
 *  员工类:
 *    共性的抽取
 *    姓名,编号,工作方法(抽象)
 */
public abstract class Employee {
private String name;
private String id;

public Employee(String name,String id){
this.name = name;
this.id = 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) {
this.id = id;
}
}

/*
 *  研发部类,属于员工的一种,继承员工类
 */
public abstract class Developer extends Employee{
public Developer(String name,String id){
super(name, id);
}
// public abstract void work();
}

/*
 *  维护部类,属于员工一种,继承
 */
public abstract class Maintainer extends Employee{
public Maintainer(String name,String id){
super(name, id);
}
}

/*
 *  定义javaEE工程师类
 *  属于研发部的员工,继承研发部
 */
public class JavaEE extends Developer{
public JavaEE(String name,String id){
super(name,id);
}

public void work(){
System.out.println(super.getName()+"..."+super.getId()+"..开发淘宝");
}
}

/*
 *  网络工程师,维护部的
 *  继承维护部类
 */
public class Net extends Maintainer{
public Net(String name,String id){
super(name, id);
}

public void work(){
System.out.println(super.getName()+"..."+super.getId()+"..正在检查网络是否畅通");
}
}

/*
 *  测试员工案例
 */
public class Test {
public static void main(String[] args) {
//创建EE对象,调用方法
JavaEE ee = new JavaEE("张三", "开发部001");
ee.work();

//创建Net对象,调用方法
Net net = new Net("李四","维护部005");
net.work();

//多态调用  Employee e = new XXX();

}
}

运行结果:

     











猜你喜欢

转载自blog.csdn.net/southdreams/article/details/80038602
今日推荐