黑马程序员技术交流社区
标题:
继承(extends)----员工建模问题
[打印本页]
作者:
李前进
时间:
2014-3-26 01:57
标题:
继承(extends)----员工建模问题
/**
对员工建模,员工包含3个属性:姓名(name),工号(id),工资(pay)。
经理也是员工,除包含员工的属性外,还包含奖金()bonus属性。
用继承的思想设计出员工类和经理类。
要求类中提供必要的方法进行属性的访问。
分析:
1,建一个父类员工(Employee),它是普通员工和经理的共性的抽取
2,建立普通员工类(Pro),继承(extends)父类
3,建立经理类(Manger),继承父(extends)类
*/
abstract class Employee
{
private String name;//定义变量
private String id;
private double pay;
Employee(String name,String id,double pay)
{
this.name=name;//初始化
this.id=id;
this.pay=pay;
}
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 double getPay()
{
return pay;
}
public void setPay(double pay)
{
this.pay = pay;
}
public abstract void work();
}
class Pro extends Employee
{
Pro(String name,String id,double pay)
{
super(name,id,pay);
}
public void work()
{
System.out.println("Pro work");
}
}
class Manger extends Employee
{
private int bonus;
Manger(String name,String id,double pay,int bonus)
{
super(name,id,pay);
this.bonus=bonus;
}
public int getBonus()
{
return bonus;
}
public void setBonus(int bonus)
{
this.bonus = bonus;
}
public void work()
{
System.out.println("manger work");
}
}
class ExtendsTest
{
public static void main(String[] args)
{
//1、通过“通过 new Pro("普通员工张三", "技术001", "9000") 的方式创建对象”
Pro pro = new Pro("普通员工张三", "技术001", 9000);
System.out.println(pro.getName());
System.out.println(pro.getId());
System.out.println(pro.getPay());
System.out.println("=============================");
//2、通过“可以通过set和get方法访问成员变量” 设置变量并且访问变量
pro.setName("普通员工张三");
pro.setId("销售003");
pro.setPay(10000);
//3、通过get访问
System.out.println(pro.getName());
System.out.println(pro.getId());
System.out.println(pro.getPay());
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2