Educoder–Java 学习-Java继承和多态之abstract类 抽象类

文章目录

  • 编程要求
  • 测试说明
  • 答案

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中完成抽象类的定义与使用,具体要求如下:

定义员工抽象类 Employee,其中包含 2 个受保护的变量和两个抽象方法;
    两个变量:姓名 name(String),和工资 salary(double);
    抽象方法 work(),无返回值,表示工作内容;
    抽象方法 info(),无返回值,表示员工信息。

定义一个公开的经理类 Manager,该类继承员工类,除了有员工类的基本属性外,还有岗位级别 gender(String)私有属性。
    一个有参构造方法;
    重写 work() 方法,输出:“我负责对施工项目实施全过程、全面管理。”;
    重写 info() 方法,输出:“姓名:xx,工资:xx,岗位级别:xx”。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧“测试结果”区查看具体的测试集详情。

答案


// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
// 定义员工抽象类 Employee,其中包含 2 个受保护的变量和两个抽象方法

    // 两个受保护的变量:姓名 name(String),和工资 salary(double);

    //抽象方法 work,无返回值,表示工作内容

    //抽象方法 info,无返回值,表示员工信息


// 定义一个公开的经理类 Manager,该类继承员工类,除了有员工类的基本属性外,还有岗位级别 gender(String)私有属性。

    // 定义一个有参构造方法

    // 重写 work() 方法,输出:“我负责对施工项目实施全过程、全面管理。”;

    // 重写 info() 方法,输出:“姓名:xx,工资:xx,岗位级别:xx”。


/********** End **********/
    /**
     * 根据所学知识,按照任务要求,完成本关任务。
     */
    // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
    /********** Begin **********/
    // 定义员工抽象类 Employee,其中包含 2 个受保护的变量和两个抽象方法
    abstract class Employee{
        // 两个受保护的变量:姓名 name(String),和工资 salary(double);
        protected String name;
        protected double salary;
        //抽象方法 work,无返回值,表示工作内容
        public abstract void work();
        //抽象方法 info,无返回值,表示员工信息
        public abstract void info();
    }
    // 定义一个公开的经理类 Manager,该类继承员工类,除了有员工类的基本属性外,还有岗位级别 gender(String)私有属性。
    public class Manager extends Employee{
        private String gender;
        // 定义一个有参构造方法
        public Manager(String name,double salary,String gender) {
            super();
            this.name = name;
            this.salary = salary;
            this.gender = gender;
        }
        // 重写 work() 方法,输出:“我负责对施工项目实施全过程、全面管理。”;
        @Override
        public void work() {
            System.out.println("我负责对施工项目实施全过程、全面管理。");
        }
        // 重写 info() 方法,输出:“姓名:xx,工资:xx,岗位级别:xx”。
        @Override
        public void info() {
            System.out.println("姓名:"+name+",工资:"+salary+",岗位级别:"+gender);
        }
    }
    /********** End **********/

你可能感兴趣的:(EduCoder)