首页 > 其他 > 详细

abstract抽象类的应用

时间:2016-04-05 13:54:37      阅读:263      评论:0      收藏:0      [点我收藏+]

/*
* 示例:
* 需求:公司中程序员有姓名,工号,薪水,工作内容
* 项目经理有姓名,工号,薪水,奖金,工作内容
* 对给出需求进行数据建模
*
*
* 分析
* 在这个问题领域中,先给出涉及的对象
* 通过名词提炼发。
* 程序员:姓名,工号,薪水
* 行为:工作
* 项目经理:姓名,工号,薪水,奖金
* 行为:工作
*
* 经理与程序员不存在直接继承关系(经理不是程序员)
* 但程序员和经理有共性内容
* 可以将程序员和经理进行抽取,建立体系
*/
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 abstract void work();//行为是不同的,所以用到了抽象类对其进行向上抽取
}

class Programmer extends Employee//定义一个程序员类,它与经理的共性内容直接继承了雇员类中的内容
{
    Programmer(String name,String id, double pay)
    {
        super(name,id,pay);//通过super关键字直接对name,id,pay进行初始化
    }
    public void work()
    {
        System.out.println("code...");//程序员的行为
    }
}

class Manager extends Employee
{
    private int bonus;
    Manager(String name,String id,double pay,int bonus)
    {
        super(name,id,pay);//对name,id,pay进行初始化
        this.bonus = bonus;//对自己的特有内容,需要用this来进行初始化
    }

    public void work()
    {
        System.out.println("manage...");//经理的行为
    }
}

abstract抽象类的应用

原文:http://www.cnblogs.com/sjbas/p/5354636.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!