在一个学校中有教师和学生两类人员。学生信息有身份证号、学号、专业、姓名性别、年龄及数学、英语、Java程序设计三门课程的成绩。教师信息有身份证号、教师号、专业、姓名、性别、年龄及授课的学时数。创建学生和教师的对象并输出对象的信息。java代码,使用继承性,使用面向对象思想
时间: 2023-12-22 10:20:50 浏览: 28
首先,我们可以创建一个人员类Person,包含身份证号、姓名、性别、年龄和专业属性。然后,创建两个子类Student和Teacher,分别继承Person类,并添加各自的属性和方法。
代码如下:
```java
class Person {
private String idCard;
private String name;
private String gender;
private int age;
private String major;
public Person(String idCard, String name, String gender, int age, String major) {
this.idCard = idCard;
this.name = name;
this.gender = gender;
this.age = age;
this.major = major;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
}
class Student extends Person {
private String studentNo;
private int mathScore;
private int englishScore;
private int javaScore;
public Student(String idCard, String name, String gender, int age, String major, String studentNo,
int mathScore, int englishScore, int javaScore) {
super(idCard, name, gender, age, major);
this.studentNo = studentNo;
this.mathScore = mathScore;
this.englishScore = englishScore;
this.javaScore = javaScore;
}
public String getStudentNo() {
return studentNo;
}
public void setStudentNo(String studentNo) {
this.studentNo = studentNo;
}
public int getMathScore() {
return mathScore;
}
public void setMathScore(int mathScore) {
this.mathScore = mathScore;
}
public int getEnglishScore() {
return englishScore;
}
public void setEnglishScore(int englishScore) {
this.englishScore = englishScore;
}
public int getJavaScore() {
return javaScore;
}
public void setJavaScore(int javaScore) {
this.javaScore = javaScore;
}
public void printInfo() {
System.out.println("学生信息:");
System.out.println("身份证号:" + getIdCard());
System.out.println("姓名:" + getName());
System.out.println("性别:" + getGender());
System.out.println("年龄:" + getAge());
System.out.println("专业:" + getMajor());
System.out.println("学号:" + studentNo);
System.out.println("数学成绩:" + mathScore);
System.out.println("英语成绩:" + englishScore);
System.out.println("Java程序设计成绩:" + javaScore);
}
}
class Teacher extends Person {
private String teacherNo;
private int courseTime;
public Teacher(String idCard, String name, String gender, int age, String major, String teacherNo,
int courseTime) {
super(idCard, name, gender, age, major);
this.teacherNo = teacherNo;
this.courseTime = courseTime;
}
public String getTeacherNo() {
return teacherNo;
}
public void setTeacherNo(String teacherNo) {
this.teacherNo = teacherNo;
}
public int getCourseTime() {
return courseTime;
}
public void setCourseTime(int courseTime) {
this.courseTime = courseTime;
}
public void printInfo() {
System.out.println("教师信息:");
System.out.println("身份证号:" + getIdCard());
System.out.println("姓名:" + getName());
System.out.println("性别:" + getGender());
System.out.println("年龄:" + getAge());
System.out.println("专业:" + getMajor());
System.out.println("教师号:" + teacherNo);
System.out.println("授课学时数:" + courseTime);
}
}
public class Main {
public static void main(String[] args) {
Student student = new Student("123456789012345678", "张三", "男", 20, "计算机科学与技术",
"20190101", 90, 85, 95);
Teacher teacher = new Teacher("111111111111111111", "李四", "男", 35, "计算机科学与技术",
"T001", 48);
student.printInfo();
teacher.printInfo();
}
}
```
输出结果如下:
```
学生信息:
身份证号:123456789012345678
姓名:张三
性别:男
年龄:20
专业:计算机科学与技术
学号:20190101
数学成绩:90
英语成绩:85
Java程序设计成绩:95
教师信息:
身份证号:111111111111111111
姓名:李四
性别:男
年龄:35
专业:计算机科学与技术
教师号:T001
授课学时数:48
```