定义考试类 Exan,成员变量有学号 sno、课程 sub iect,其中subiect是抽象类Course声明的变量,方法query )输出学号和课程的考试信息。 定义抽象类Course,成员变量有课程名cname、学分credit,包含一个抽象方法 getInfoO,用于获取课程的考试信息。 定义必修课程类 Required,该类是 Course 类的子类,成员变量有成绩 1、 4成绩 2,重写 getInfoO方法,计算总成绩=成绩 1*0.3+成绩2*0.7,返回课 程名、学分和总成绩。 编写主类,创建个考试对象.输出学号和课程的考试信息。
时间: 2023-04-06 10:01:36 浏览: 90
Exan类的定义如下:
```
class Exan {
private String sno;
private Course subiect;
public Exan(String sno, Course subiect) {
this.sno = sno;
this.subiect = subiect;
}
public void query() {
System.out.println("学号:" + sno);
subiect.getInfo();
}
}
```
Course抽象类的定义如下:
```
abstract class Course {
protected String cname;
protected int credit;
public Course(String cname, int credit) {
this.cname = cname;
this.credit = credit;
}
public abstract void getInfo();
}
```
Required类的定义如下:
```
class Required extends Course {
private double score1;
private double score2;
public Required(String cname, int credit, double score1, double score2) {
super(cname, credit);
this.score1 = score1;
this.score2 = score2;
}
public void getInfo() {
double totalScore = score1 * 0.3 + score2 * 0.7;
System.out.println("课程名:" + cname);
System.out.println("学分:" + credit);
System.out.println("总成绩:" + totalScore);
}
}
```
主类的定义如下:
```
public class Main {
public static void main(String[] args) {
Course course = new Required("Java程序设计", 3, 90, 85);
Exan exan = new Exan("20210001", course);
exan.query();
}
}
```
输出结果如下:
```
学号:20210001
课程名:Java程序设计
学分:3
总成绩:87.5
```
阅读全文