定义Student类继承Person类,有以下几个成员属性 继承自父类的变量:姓名(name),字符串类型(String);性别(sex),字符型(char);年龄(age), 整型(int)。 子类新增加的变量: 学号(number),长整型; 三门功课的成绩:哲学(phi),double类型;英语(eng),double类型;计算机(comp),double类型。 子类新增加的方法: 求三门功课成绩的最高分max():该方法没有参数,返回值为double型; 覆盖父类的同名方法:toString() 返回学号、姓名、性别、最高分信息。
时间: 2024-02-13 19:06:37 浏览: 117
好的,这是一个面向对象编程的问题,需要用到Java语言进行实现。下面是对应的代码:
```java
public class Person {
protected String name;
protected char sex;
protected int age;
public Person(String name, char sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public String getName() {
return name;
}
public char getSex() {
return sex;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", sex=" + sex +
", age=" + age +
'}';
}
}
public class Student extends Person {
private long number;
private double phi;
private double eng;
private double comp;
public Student(String name, char sex, int age, long number, double phi, double eng, double comp) {
super(name, sex, age);
this.number = number;
this.phi = phi;
this.eng = eng;
this.comp = comp;
}
public double max() {
double max = phi;
if (eng > max) {
max = eng;
}
if (comp > max) {
max = comp;
}
return max;
}
@Override
public String toString() {
return "Student{" +
"number=" + number +
", name='" + name + '\'' +
", sex=" + sex +
", max=" + max() +
'}';
}
}
```
这里定义了一个Person类和一个继承自Person的Student类。在Student类中新增了number、phi、eng、comp这四个属性和max()方法,并覆盖了父类的toString()方法。其中,max()方法用于求出三门功课的最高分。toString()方法返回学号、姓名、性别和最高分信息。
阅读全文