099 01 Android 零基礎入門 02 Java面向對象 03 綜合案例(學生資訊管理) 02 案例分析及實現 03 編寫並測試Student類

099 01 Android 零基礎入門 02 Java面向對象 03 綜合案例(學生資訊管理) 02 案例分析及實現 03 編寫並測試Student類

本文知識點:編寫並測試Subject類

說明:因為時間緊張,本人寫部落格過程中只是對知識點的關鍵步驟進行了截圖記錄,沒有對截圖步驟進行詳細的文字說明(後面部落客時間充裕了,會對目前的部落格編輯修改,補充上詳細的文字說明);有些步驟和相關知識點缺乏文字描述,可能會難以理解。讀者如有不明之處,歡迎部落格私信或者微信(本人微信在部落格下方的「關於部落客」處)與本人交流,共同進步

編寫並測試Student類

Student類

package com.imooc.model;

public class Student {
	// 成員屬性:學號、姓名、性別、年齡、專業
	private String studentNo;
	private String studentName;
	private String studentSex;
	private int studentAge;
	private Subject studentSubject;
	
	// 無參構造方法
	public Student() {

	}
	//多參構造方法,實現對學號、姓名、性別、年齡的賦值
	public Student(String studentNo, String studentName, String studentSex, int studentAge) {
		this.setStudentNo(studentNo);
		this.setStudentName(studentName);
		this.setStudentSex(studentSex);
		this.setStudentAge(studentAge);
	}
	// 多參構造方法,實現對全部屬性的賦值
	public Student(String studentNo, String studentName, String studentSex, int studentAge,Subject studentSubject) {
		this.setStudentNo(studentNo);
		this.setStudentName(studentName);
		this.setStudentSex(studentSex);
		this.setStudentAge(studentAge);
		// this.studentAge=studentAge;
		this.setStudentSubject(studentSubject);
	}

	public String getStudentNo() {
		return studentNo;
	}

	public void setStudentNo(String studentNo) {
		this.studentNo = studentNo;
	}

	public String getStudentName() {
		return studentName;
	}

	public void setStudentName(String studentName) {
		this.studentName = studentName;
	}

	public String getStudentSex() {
		return studentSex;
	}

	public void setStudentSex(String studentSex) {
		// 限制性別只能是「男」或者「女」,反之,強制賦值為「男」
		this.studentSex = studentSex;
	}

	public int getStudentAge() {
		return studentAge;
	}

	/**
	 * 給年齡賦值,限定必須在10--100之間,反之賦值為18
	 * 
	 * @param studentAge
	 *            傳入的年齡
	 */
	public void setStudentAge(int studentAge) {
		if (studentAge < 10 || studentAge > 100)
			this.studentAge = 18;
		else
			this.studentAge = studentAge;
	}

	/**
	 * 獲取專業對象,如果沒有實例化,先實例化後再返回
	 * @return 專業對象資訊
	 */
	public Subject getStudentSubject() {
		if(this.studentSubject==null)
			this.studentSubject=new Subject();
		return studentSubject;
	}

	public void setStudentSubject(Subject studentSubject) {
		this.studentSubject = studentSubject;
	}

	/**
	 * 學生自我介紹的方法
	 * 
	 * @return 自我介紹的資訊,包括姓名、學號、性別、年齡
	 */
	public String introduction() {
		String str = "學生資訊如下:\n姓名:" + this.getStudentName() + "\n學號:" + this.getStudentNo() + "\n性別:"
				+ this.getStudentSex() + "\n年齡:" + this.getStudentAge()+ "\n所報專業名稱:" + this.getStudentSubject().getSubjectName() + "\n學制年限:"
						+ this.getStudentSubject().getSubjectLife();
		return str;
	}

	/**
	 * 學生自我介紹的方法
	 * @param subjectName 所學專業名稱
	 * @param subjectLife 學制年限
	 * @return 自我介紹的資訊,包括姓名、學號、性別、年齡、所學專業名稱、學制年限
	 */
	public String introduction(String subjectName, int subjectLife) {
		String str = "學生資訊如下:\n姓名:" + this.getStudentName() + "\n學號:" + this.getStudentNo() + "\n性別:"
				+ this.getStudentSex() + "\n年齡:" + this.getStudentAge() + "\n所報專業名稱:" + subjectName + "\n學制年限:"
				+ subjectLife;
		return str;
	}

	/**
	 * 學生自我介紹的方法
	 * @param mySubject 所選專業的對象
	 * @return自我介紹的資訊,包括姓名、學號、性別、年齡、所學專業名稱、學制年限
	 */
	public String introduction(Subject mySubject){
		String str = "學生資訊如下:\n姓名:" + this.getStudentName() + "\n學號:" + this.getStudentNo() + "\n性別:"
				+ this.getStudentSex() + "\n年齡:" + this.getStudentAge() + "\n所報專業名稱:" + mySubject.getSubjectName() + "\n學制年限:"
				+ mySubject.getSubjectLife()+"\n專業編號:"+mySubject.getSubjectNo();
		return str;
	}
}

測試類

public class SchoolTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//測試Subject
		Subject sub1=new Subject("電腦科學與應用","J0001",4);
    	System.out.println(sub1.info());
        
        System.out.println("================================");
		//測試Student
		Student stu1=new Student("S01","張三","男",200);
	   System.out.println(stu1.introduction());
	}

}