【1】编写实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty和Staff。 具体要求如下: [1].Person类中的属性有:姓名name(String类型),地址address(String类型),电话号码telphone(String类型)和电子邮件地址email(String类型); [2].Employee类中的属性有:办公室office(String类型),工资wage(double类型),受雇日期hiredate(String类型); [3].Faculty类中的属性有:学位degree(String类型),级别level(String类型); Staff类中的属性有:职务称号duty(String类型)。

时间: 2023-05-28 08:01:07 浏览: 70
[4].Person类应该有一个无参的构造函数,一个带有全部属性的构造函数以及getters/setters方法; [5].Employee类应该有一个无参的构造函数、一个带有全部属性的构造函数以及getters/setters方法; [6].Faculty类应该有一个无参的构造函数、一个带有全部属性的构造函数以及getters/setters方法; [7].Staff类应该有一个无参的构造函数、一个带有全部属性的构造函数以及getters/setters方法; [8].Person类还应该有一个toString()方法,用于描述一个Person对象的信息; [9].Employee类还应该有一个toString()方法,用于描述一个Employee对象的信息; [10].Faculty类还应该有一个toString()方法,用于描述一个Faculty对象的信息; [11].Staff类还应该有一个toString()方法,用于描述一个Staff对象的信息。 以下是代码实现: ``` public class Person { private String name; private String address; private String telephone; private String email; public Person() {} public Person(String name, String address, String telephone, String email) { this.name = name; this.address = address; this.telephone = telephone; this.email = email; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getTelephone() { return telephone; } public void setTelephone(String telephone) { this.telephone = telephone; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String toString() { return "Name: " + this.getName() + ", Address: " + this.getAddress() + ", Telephone: " + this.getTelephone() + ", Email: " + this.getEmail(); } } public class Employee extends Person { private String office; private double wage; private String hiredate; public Employee() {} public Employee(String name, String address, String telephone, String email, String office, double wage, String hiredate) { super(name, address, telephone, email); this.office = office; this.wage = wage; this.hiredate = hiredate; } public String getOffice() { return office; } public void setOffice(String office) { this.office = office; } public double getWage() { return wage; } public void setWage(double wage) { this.wage = wage; } public String getHiredate() { return hiredate; } public void setHiredate(String hiredate) { this.hiredate = hiredate; } public String toString() { return super.toString() + ", Office: " + this.getOffice() + ", Wage: " + this.getWage() + ", Hiredate: " + this.getHiredate(); } } public class Faculty extends Employee { private String degree; private String level; public Faculty() {} public Faculty(String name, String address, String telephone, String email, String office, double wage, String hiredate, String degree, String level) { super(name, address, telephone, email, office, wage, hiredate); this.degree = degree; this.level = level; } public String getDegree() { return degree; } public void setDegree(String degree) { this.degree = degree; } public String getLevel() { return level; } public void setLevel(String level) { this.level = level; } public String toString() { return super.toString() + ", Degree: " + this.getDegree() + ", Level: " + this.getLevel(); } } public class Staff extends Employee { private String duty; public Staff() {} public Staff(String name, String address, String telephone, String email, String office, double wage, String hiredate, String duty) { super(name, address, telephone, email, office, wage, hiredate); this.duty = duty; } public String getDuty() { return duty; } public void setDuty(String duty) { this.duty = duty; } public String toString() { return super.toString() + ", Duty: " + this.getDuty(); } } ```

相关推荐

最新推荐

recommend-type

六首页数字藏品NFT交易网React NextJS网站模板 六首页数字藏品nft交易网反应NextJS网站模板

六首页数字藏品NFT交易网React NextJS网站模板 六首页数字藏品nft交易网反应NextJS网站模板
recommend-type

wireshark安装教程入门

wireshark安装教程入门
recommend-type

基于C++负数据库的隐私保护在线医疗诊断系统

【作品名称】:基于C++负数据库的隐私保护在线医疗诊断系统 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 基于负数据库的隐私保护在线医疗诊断系统 NDBMedicalSystem 客户端及服务器端 本项目是在保护用户隐私的前提下,完成了对新冠肺炎、乳腺癌、眼疾等多种疾病的智能诊断。
recommend-type

基本的嵌入式操作系统给

任务管理
recommend-type

3-10.py

3-10
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。