黑马程序员技术交流社区

标题: abstract抽象类的应用案例 [打印本页]

作者: 男人你得有范    时间: 2014-8-22 22:19
标题: abstract抽象类的应用案例
package com.gao;
/* * 抽象类的应用 *  * 公司里的所有人员都是员工 * 员工有分有等级 * 包括普通员工和经理 * 所有的员工都要工作 * Employee类是从普通员工和经理中抽取出来的一个类,里面含有它们的共有属性和方法 * 因为普通员工和经理所做的工作具体是什么在Employee类中无法描述,所以定义为抽象类 * 所以Employee类定义为抽象类 * */abstract class Employee// 向上抽取出来的员工类{        private String name;//员工姓名        private String id;//工号        private double pay;//工资        //get和set方法        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 Employee(String name, String id, double pay)        {                // super();                this.name = name;                this.id = id;                this.pay = pay;        }
        public abstract void work();// 不确定不同类型的员工工作内容,所以使用抽象方法}
class Manager extends Employee// 经理{        private int bonus;
        public int getBonus()        {                return bonus;        }
        public void setBonus(int bonus)        {                this.bonus = bonus;        }
        public Manager(String name, String id, double pay)        {                super(name, id, pay);//调用父类的构造函数        }
        public Manager(String name, String id, double pay, int bonus)        {                super(name, id, pay);//调用父类的构造函数                this.bonus = bonus;        }
        @Override        public void work()//复写父类中的抽象方法        {                System.out.println("manager work");        }
}
class Pro extends Employee// 普通员工{
        public Pro(String name, String id, double pay)        {                super(name, id, pay);//调用父类的构造函数        }
        @Override        public void work()//复写父类中的抽象方法        {                System.out.println("pro work");
        }}
public class AbstractTest{        public static void main(String[] args)        {                Pro p = new Pro("gao","c01",2500.0);//创建一个普通员工对象并初始化                System.out.println(p.getName());//输出:gao                System.out.println("-----------------");                Manager m = new Manager("zhi", "m01", 8000.0,300);//创建一个经理对象并初始化                System.out.println(m.getName());//输出:zhi                System.out.println(m.getBonus());//输出:300        }}



作者: 伍建雄    时间: 2014-8-22 22:27
我去,这代码看的太费劲了。 。
作者: 男人你得有范    时间: 2014-8-22 22:28
伍建雄 发表于 2014-8-22 22:27
我去,这代码看的太费劲了。 。

呀呀呀,本来好好的,粘到这里怎么变成这样了,我去
作者: 谢建平    时间: 2014-8-23 02:15
汗滴滴...
作者: wwfkofufo    时间: 2014-8-23 03:33
  要当一个有素质的有为青年,更要当一个编码风格超赞的伟大的程序猿。。。你这代码,我受不了。
作者: dhgcy    时间: 2014-8-23 21:24
代码结构清晰就好了
作者: 男人你得有范    时间: 2014-8-23 21:35
wwfkofufo 发表于 2014-8-23 03:33
要当一个有素质的有为青年,更要当一个编码风格超赞的伟大的程序猿。。。你这代码,我受不了。 ...

粘贴出问题了
哈哈
作者: 男人你得有范    时间: 2014-8-23 21:39
dhgcy 发表于 2014-8-23 21:24
代码结构清晰就好了

:handshake,感谢理解,嘿嘿,哥们儿这是要去哪一期呢?
作者: dhgcy    时间: 2014-8-24 10:50
男人你得有范 发表于 2014-8-23 21:39
,感谢理解,嘿嘿,哥们儿这是要去哪一期呢?

想去44期  你呢
作者: 戏言丶    时间: 2014-8-24 11:09
看看,不过这代码确实有点混乱啊




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