⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 polymorphism.java

📁 实验 1 对象的创建和使用 ( l )理解类的定义; ( 2 )掌握对象的声明; ( 3 )学会使用构造函数初始化对象; ( 4 )使用类的数据和方法。 实验 2 类的静态成员与实例成员
💻 JAVA
字号:
//PoIymorphism.java
abstract class Student {
	final static int CourseNo = 3;

	String name;

	String type;

	int[] courses;

	String courseGrade;

	public Student(String name) {
		this.name = name;
		courses = new int[CourseNo];
		courseGrade = null;// 代码1 //初始化courseGrade为空串
	}

	public abstract void calculateGrade();

	public String getName() {
		return name;
	}

	public String getType() {
		return type;// 代码2 //返回学生类型
	}

	public String getCourseGrade() {
		return courseGrade;
	}

	public int getCourseScore(int courseNumber) {
		return courses[courseNumber];
	}

	public void setName(String name) {
		this.name = name;
	}

	public void setType(String type) {
		this.type = type;
	}

	public void setCourseScore(int courseNumber, int coursescore) {
		courses[courseNumber] = coursescore;// 代码3 //按课程索引号设置课程成绩
	}
}

class middlegraduate extends Student {
	public middlegraduate(String name) {
		super(name);
		type = "高中生";
	}

	public void calculateGrade() {
		int total = 0;
		double average = 0;
		for (int i = 0; i < CourseNo; i++) {
			total = total + courses[i];// 代码4 //累加各门课程成绩
		}
		average = total / CourseNo;
		if (average >= 80 && average < 100)
			courseGrade = "好";
		else if (average >= 60 && average < 80)
            courseGrade = "中";
		else
            courseGrade = "差";
	}
}



class Undergraduate extends Student {
	public Undergraduate(String name) {
		super(name);
		type = "本科生";
	}

	public void calculateGrade() {
		int total = 0;
		double average = 0;
		for (int i = 0; i < CourseNo; i++) {
			total = total + courses[i];// 代码4 //累加各门课程成绩
		}
		average = total / CourseNo;
		if (average >= 80 && average < 100)
			courseGrade = "优秀";
		else if (average >= 70 && average < 80)
			courseGrade = "良好";
		else if (average >= 60 && average < 70)
			courseGrade = "——般";
		else if (average >= 50 && average < 60)
			courseGrade = "及格";
		else
			courseGrade = "不及格";
	}
}

class Postgraduate extends Student {
	public Postgraduate(String name) {
		super(name);
		type = "研究生";
	}

	public void calculateGrade() {
		int total = 0;
		double average = 0;
		for (int i = 0; i < CourseNo; i++) {
			total += courses[i];
		}
		average = total / CourseNo;
		if (average >= 90 && average < 100)
			courseGrade = "优秀";
		else if (average >= 80 && average < 90)
			courseGrade = "良好";
		else if (average >= 70 && average < 80)
			courseGrade = "一般";
		else if (average >= 60 && average < 70)
			courseGrade = "及格";
		else
			courseGrade = "不及格";
	}
}

public class Polymorphism {
	public static void main(String[] args) {
		Student[] students = new Student[5];
		students[0] = new Undergraduate("陈建平");
		students[1] = new Undergraduate("鲁向东");
		students[2] = new Postgraduate("匡晓华");
		students[3] = new middlegraduate("周丽娜");
		students[4] = new Postgraduate("梁欣欣");
		;// 代码5 //创建姓名为梁欣欣的Postgraduate对象students[4]
		for (int i = 0; i < 5; i++) {
			students[i].setCourseScore(0, 87);
			students[i].setCourseScore(1, 90);
			students[i].setCourseScore(2, 78);
		}
		for (int i = 0; i < 5; i++) {
			students[i].calculateGrade();
		}
		System.out.println("姓名" + "      类型" + "      成绩");
		System.out.println("------------------------");
		for (int i = 0; i < 5; i++) {
			System.out.println(students[i].getName() + "    "
					+ students[i].getType() + "    "
					+ students[i].getCourseGrade());
			}
		
	//	Student st=new Student("学生");
		for(int i=0;i<5;i++){
			if(students[i] instanceof Undergraduate)
				System.out.println(students[i].getName()+"是本科生");
			else if(students[i] instanceof Postgraduate)
				System.out.println(students[i].getName()+"是研究生");	
			else
				System.out.println(students[i].getName()+"是高中生");
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -