黑马程序员技术交流社区

标题: 入学测试题,新手不会,网上下载抽象类代码,然后自己改的,但是后面遇到了难题,求解 [打印本页]

作者: zhoushangpeng    时间: 2016-4-12 10:30
标题: 入学测试题,新手不会,网上下载抽象类代码,然后自己改的,但是后面遇到了难题,求解
package com.itheima;
/*
* 第三题:假如我们在开发一个系统时需要对员工进行建模,员工包含 3 个属性:姓名、工号以及工资。
* 经理也是员工,除了含有员工的属性外,另为还有一个奖金属性。请使用继承的思想设计出员工类和经
* 理类。要求类中提供必要的方法进行属性访问。
* @author zhoushangpeng
*/
public class Test3 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Employee e = new Employee("zhangsan", "1", 100);
               
                Manager m = new Manager("lisi","2",1000);
                e.work();
               
        }

}
//思路:
//员工分普通员工和经理。
//1,首先将两个共性的东西向上抽取。(姓名,age,id,工资。有一个工作方法。)
     //  因为普通和经理工作内容不同。需要这两个子类自己去实现。那么该方法是抽象的。(好处,普通和经理只要是员工就必须工作,强制性。)
//2,在定义经理类,除了拿到父类中共性的东西,他还有特性的东西。(奖金)
//*/

//工作类的抽象
abstract class Worker
{
       private String name;
       private String ID;
       private double  pay;
      
       Worker( String name, String ID, double pay )
       {
              this.name=name;
              this.ID=ID;
              this.pay=pay;
       }
      
       public void  setName( String name )
       {
              this.name=name;
       }
      
       public String getName()
       {
              return name;
       }
      
       public void setID( String ID )
       {
              this.ID=ID;
       }
      
       public String getID()
       {
              return ID;
       }
      
       public void setPay( double pay )
       {
              this.pay=pay;
       }
      
       public double getPay()
       {
              return pay;
       }
      
       abstract public void work();
      
      
      
            
}

//这是工人类
class  Employee extends Worker
{
       Employee( String name, String ID, double pay )
       {
              super( name,ID,pay );
       }
      
       //强制实现了工作方法
       @Override
       public void work()
       {
              System.out.println( "Employee work" );
       }
}

//这是经理类
class  Manager extends Worker
               

{
       
           int money;
          
           public void setMoney( int money )
       {
              this.money=money;
       }
      
       public int getMoney() {
                return money;
        }
          
      
      
       public Manager(String name, String ID, double pay) {
                super(name, ID, pay);
                // TODO Auto-generated constructor stub
        }

        //强制实现了工作方法
       @Override
       public void work()
       {
              System.out.println( "Manager work" );
       }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2