1、10软件3班 201013019004 田巧慈 实验三 类和对象编程—类和对象基础 一、实验目的 1.理解类与对象; 2.掌握类与对象的关系; 3.掌握成员变量和成员方法的特性。 二、实验器材 计算机硬件环境:PIII 667以上计算机;软件环境:MyEclipse6.0以上。 三、实验内容 设计2个类,分别本科生类Undergaduate,研究生类Postgraduate,他们都包含一些基本属性,如姓名、所学课程、课程成绩(多门成绩)、成绩等级等;他们都通过构造方法进行初始化;他们都具有一个方法getGrade(),
2、用于通过分数的平均分计算成绩的等级,研究生的标准要比本科生的标准高一些,如下表所示。 表 课程成绩等级 本科生标准 研究生标准 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
3、 { 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; } pub
4、lic 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;
5、} 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+
6、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)
7、/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
8、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
9、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());
10、 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, in
11、t 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
12、"该学生为良好"); }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,8
13、7,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.g
14、etChinese()); 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); } } 五、实验总结






