zoukankan      html  css  js  c++  java
  • abstract抽象类的应用

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

  • 相关阅读:
    《洛谷P2296 寻找道路》
    《浙江科技学院第17届大学生程序设计竞赛:D:合并序列》
    《数论整理二》
    《洛谷P1282 多米诺骨牌》
    《洛谷P2140 小Z的电力管制》
    《洛谷P2798 爆弹虐场》
    Linux下运行C语言程序
    计算圆柱的底面积和体积
    将摄氏温度转化为华氏温度
    如果今天是星期二,那么100天后是星期几?
  • 原文地址:https://www.cnblogs.com/sjbas/p/5354636.html
Copyright © 2011-2022 走看看