资源描述
10软件3班 201013019004 田巧慈
实验三 类和对象编程—类和对象基础
一、实验目的
1.理解类与对象;
2.掌握类与对象的关系;
3.掌握成员变量和成员方法的特性。
二、实验器材
计算机硬件环境:PIII 667以上计算机;软件环境:MyEclipse6.0以上。
三、实验内容
设计2个类,分别本科生类Undergaduate,研究生类Postgraduate,他们都包含一些基本属性,如姓名、所学课程、课程成绩(多门成绩)、成绩等级等;他们都通过构造方法进行初始化;他们都具有一个方法getGrade(),用于通过分数的平均分计算成绩的等级,研究生的标准要比本科生的标准高一些,如下表所示。
表 课程成绩等级
本科生标准
研究生标准
80--100
优秀
90—100
优秀
70--80
良好
80—90
良好
60--70
一般
70—80
一般
50--60
及格
60—70
及格
50以下
不及格
60以下
不及格
编写测试类,在测试类里创建若干个Undergaduate与Postgraduate对象,计算他们的成绩,并输出他们的个人信息。
四、实验步骤
学生类
package .shy;
public class Student {
private String name;
private int chinese;
private int math;
private int english;
public Student (String name,int chinese,int math,int english){
this.name = name;
this.chinese = chinese;
this.math = math ;
this.english = english;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getChinese() {
return chinese;
}
public void setChinese(int chinese) {
this.chinese = chinese;
}
public int getMath() {
return math;
}
public void setMath(int math) {
this.math = math;
}
public int getEnglish() {
return english;
}
public void setEnglish(int english) {
this.english = english;
}
public float pingjun(int english,int math,int chinese){
float a;
a = (english+math+chinese)/3;
return a;
}
}
本科生类
package .shy;
public class Undergradute extends Student {
public Undergradute(String name, int chinese, int math, int english) {
super(name, chinese, math, english);
}
public float pj(int st,float bk){
float a;
a = (bk+st)/2;
return a;
}
public void benkepd(float a){
if (a>80){
System.out.println("该学生为优秀");
}else if(a>70){
System.out.println("该学生为良好");
}else if(a>59){
System.out.println("该学生为及格");
}else {
System.out.println("该学生为不及格");
}
}
public static void main(String[] args) {
Undergradute zhansan = (Undergradute) new Undergradute("zhangsan", 80, 89,97);
int benkekecheng = 55 ;
float ggkecheng = zhansan.pingjun(zhansan.getEnglish(), zhansan.getMath(), zhansan.getChinese());
float zongkecheng = zhansan.pj(benkekecheng, ggkecheng);
System.out.println("学生名字"+zhansan.getName());
System.out.println(zhansan.getName()+"语文:"+zhansan.getChinese());
System.out.println(zhansan.getName()+"数学:"+zhansan.getMath());
System.out.println(zhansan.getName()+"英语:"+zhansan.getEnglish());
System.out.println(zhansan.getName()+"本科课程平均分:"+benkekecheng);
System.out.println(zhansan.getName()+"总平均分为:"+zongkecheng);
zhansan.benkepd(zongkecheng);
}
}
研究生类
package .shy;
public class Postgradute extends Student {
public Postgradute(String name, int chinese, int math, int english) {
super(name, chinese, math, english);
}
public float pj(int st,float bk){
float a;
a = (bk+st)/2;
return a;
}
public void yanjiupd(float a){
if (a>90){
System.out.println("该学生为优秀");
}else if(a>80){
System.out.println("该学生为良好");
}else if(a>70){
System.out.println("该学生为中等");
}else if(a>59){
System.out.println("该学生为及格");
}else {
System.out.println("该学生为不及格");
}
}
public static void main(String[] args) {
Postgradute lisi = (Postgradute) new Postgradute("lisi", 98,87,90);
int yanjiukecheng = 89;
float ggkecheng = lisi.pingjun(lisi.getEnglish(), lisi.getMath(), lisi.getChinese());
float zongkecheng = lisi.pj(yanjiukecheng, ggkecheng);
System.out.println("学生名字:"+lisi.getName());
System.out.println(lisi.getName()+"语文:"+lisi.getChinese());
System.out.println(lisi.getName()+"数学:"+lisi.getMath());
System.out.println(lisi.getName()+"英语:"+lisi.getEnglish());
System.out.println(lisi.getName()+"研究生课程平均分:"+yanjiukecheng);
System.out.println(lisi.getName()+"总平均分为:"+zongkecheng);
lisi.yanjiupd(zongkecheng);
}
}
五、实验总结
展开阅读全文