某公司的雇员分为5类,每类员工都有相应的封装类,这5个类的信息如下所示。\n(1) employee:这是所有员工总的父类。\n① 属性:员工的姓名,员工的生日月份\n② 方法:getsalary(int
时间: 2023-05-31 19:20:47 浏览: 475
### 回答1:
这题目是关于某公司的员工分类问题。共分为5类,每类的员工都有相应的封装类,共有5个类的信息如下:
(1) employee:这是所有员工总的父类。
① 属性:员工的姓名,员工的生日月份。
② 方法:getsalary(int)。
根据这些信息,可以推断出这是一个面向对象的程序设计问题,要求设计和实现5个类及其相关属性和方法。其中,employee是所有员工的父类,其他员工类都是从employee中继承而来,每个员工类都有自己的特定属性和方法。例如,Manager类会有自己的奖金属性,getSalary()方法会根据员工的工资和奖金计算员工的总收入。
### 回答2:
首先,这道题目涉及到五个类,其中一个是总的父类employee,我们可以从这个父类开始了解。
employee类有两个属性,分别是员工的姓名和生日月份。同时有一个方法getSalary(int month),表示该员工在月份为month的时候的薪水。
接下来,我们看看这个父类employee的5个派生类,即分别是:
1. 全职员工FullTimeEmployee
2. 兼职员工PartTimeEmployee
3. 销售员工SalesEmployee
4. 管理员工ManagerEmployee
5. 技术员工TechnicalEmployee
这五个类中,每个类都有一个构造方法和一个getSalary(int month)方法。
全职员工FullTimeEmployee类:
该类的属性包括工作时长和基本工资,getSalary(int month)方法返回该员工指定月份的薪水。
兼职员工PartTimeEmployee类:
该类的属性包括工作小时数和每小时的工资,getSalary(int month)方法返回该员工指定月份的薪水。
销售员工SalesEmployee类:
该类的属性包括销售额和提成比例,getSalary(int month)方法返回该员工指定月份的薪水。其中提成比例为该员工的一个属性。
管理员工ManagerEmployee类:
该类的属性包括绩效指数和基本工资,getSalary(int month)方法返回该员工指定月份的薪水。
技术员工TechnicalEmployee类:
该类的属性包括工作时长和基本工资,getSalary(int month)方法返回该员工指定月份的薪水。与全职员工类似,这里也需要记录工作时长。
以上就是五个派生类的属性和方法,每个类都可以单独找出并讨论。最后,我想总结一下这个题目的几个点:
1. 该公司的雇员被分为了五类,每个类都有相应的属性和方法。
2. 全职和技术员工记录工作时长,销售和管理员工记录绩效和销售额,兼职员工记录工作小时数。
3. 每个派生类都有一个构造方法和一个getSalary(int month)方法,用于计算指定月份该员工的薪水。
### 回答3:
本题涉及面向对象编程的基础知识,需要对类、属性和方法有一定的理解。
首先,根据题目所给信息,可以确定某公司的雇员分为5类,每类员工都有相应的封装类。那么,我们需要先确定这5个类的名称和属性、方法。
1. 父类Employee
根据题目所给信息,可以确定Employee是所有员工总的父类。因此,它应该具备一些通用的属性和方法,子类可以继承和重写它们。
① 属性:员工的姓名,员工的生日月份
这两个属性是Employee类的基本属性,它们可以用private关键字封装起来,只能通过public方法访问。
② 方法:getsalary(int month)
这个方法是根据月份计算员工工资的方法,它应该是抽象方法或者虚拟方法,由子类具体实现。在Employee类中,可以将它定义为虚拟方法,并提供一个默认的实现,返回0。
2. 子类SalariedEmployee
SalariedEmployee是固定薪水的员工类,它应该从Employee类继承下来。
① 属性:基本工资
这个属性是SalariedEmployee类的特有属性,它可以用private关键字封装起来。
② 方法:getsalary(int month)
这个方法是计算薪水的方法,它应该根据员工的基本工资和月份计算出薪水。由于这是一个虚拟方法,在SalariedEmployee类中需要实现它。
3. 子类HourlyEmployee
HourlyEmployee是按小时计费的员工类,它应该从Employee类继承下来。
① 属性:每小时的工资,工作小时数
这两个属性是HourlyEmployee类的特有属性,它们可以用private关键字封装起来。
② 方法:getsalary(int month)
这个方法是计算薪水的方法,它应该根据员工的每小时工资和工作小时数计算出薪水。由于这是一个虚拟方法,在HourlyEmployee类中需要实现它。
4. 子类CommissionEmployee
CommissionEmployee是根据销售量提成的员工类,它应该从Employee类继承下来。
① 属性:销售额,提成比率
这两个属性是CommissionEmployee类的特有属性,它们可以用private关键字封装起来。
② 方法:getsalary(int month)
这个方法是计算薪水的方法,它应该根据员工的销售额和提成比率计算出薪水。由于这是一个虚拟方法,在CommissionEmployee类中需要实现它。
5. 子类BasePlusCommissionEmployee
BasePlusCommissionEmployee是有底薪的员工类,它应该从CommissionEmployee类继承下来。
① 属性:底薪
这个属性是BasePlusCommissionEmployee类的特有属性,它可以用private关键字封装起来。
② 方法:getsalary(int month)
这个方法是计算薪水的方法,它应该根据员工的底薪、销售额和提成比率计算出薪水。由于这是一个虚拟方法,在BasePlusCommissionEmployee类中需要实现它。
以上就是对题目的回答,五个类中每个类的属性、方法都在此回答之中。
阅读全文