A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 李前进 中级黑马   /  2014-3-26 01:57  /  791 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /**
  2. 对员工建模,员工包含3个属性:姓名(name),工号(id),工资(pay)。
  3. 经理也是员工,除包含员工的属性外,还包含奖金()bonus属性。
  4. 用继承的思想设计出员工类和经理类。
  5. 要求类中提供必要的方法进行属性的访问。



  6. 分析:
  7. 1,建一个父类员工(Employee),它是普通员工和经理的共性的抽取
  8. 2,建立普通员工类(Pro),继承(extends)父类
  9. 3,建立经理类(Manger),继承父(extends)类
  10. */


  11. abstract class  Employee
  12. {
  13.         private String name;//定义变量
  14.         private String id;
  15.         private double pay;

  16.         Employee(String name,String id,double pay)
  17.         {
  18.                 this.name=name;//初始化
  19.                 this.id=id;
  20.                 this.pay=pay;
  21.         }



  22.         public String getName()
  23.         {
  24.                 return name;
  25.         }

  26.         public void setName(String name)
  27.         {
  28.                 this.name = name;
  29.         }


  30.         public String getId()
  31.         {
  32.                 return id;
  33.         }

  34.         public void setId(String id)
  35.         {
  36.                 this.id = id;
  37.         }


  38.         public double getPay()
  39.         {
  40.                 return pay;
  41.         }

  42.         public void setPay(double pay)
  43.         {
  44.                 this.pay = pay;
  45.         }


  46.         public abstract void work();

  47. }


  48. class Pro extends Employee
  49. {
  50.         Pro(String name,String id,double pay)
  51.         {
  52.                 super(name,id,pay);
  53.         }


  54.         public void work()
  55.         {
  56.                 System.out.println("Pro work");
  57.         }

  58. }


  59. class Manger extends Employee
  60. {
  61.         private int bonus;

  62.         Manger(String name,String id,double pay,int bonus)
  63.         {
  64.                 super(name,id,pay);
  65.                 this.bonus=bonus;
  66.         }

  67.        
  68.         public int getBonus()
  69.         {
  70.                 return bonus;
  71.         }

  72.         public void setBonus(int bonus)
  73.         {
  74.                 this.bonus = bonus;
  75.         }


  76.         public void work()
  77.         {
  78.                 System.out.println("manger work");
  79.         }

  80. }

  81. class ExtendsTest
  82. {
  83.         public static void main(String[] args)
  84.         {
  85.         //1、通过“通过 new Pro("普通员工张三", "技术001", "9000") 的方式创建对象”

  86.                 Pro pro = new Pro("普通员工张三", "技术001", 9000);

  87.                 System.out.println(pro.getName());

  88.                 System.out.println(pro.getId());

  89.                 System.out.println(pro.getPay());

  90.                 System.out.println("=============================");

  91.                 //2、通过“可以通过set和get方法访问成员变量” 设置变量并且访问变量

  92.                 pro.setName("普通员工张三");

  93.                 pro.setId("销售003");

  94.                 pro.setPay(10000);

  95.                 //3、通过get访问

  96.                 System.out.println(pro.getName());

  97.                 System.out.println(pro.getId());

  98.                 System.out.println(pro.getPay());
  99.         }

  100. }
  101.        
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马