1. 程式人生 > 實用技巧 >102 01 Android 零基礎入門 02 Java面向物件 03 綜合案例(學生資訊管理) 02 案例分析及實現 06 通過方法實現學生類與專業類關聯——方案三

102 01 Android 零基礎入門 02 Java面向物件 03 綜合案例(學生資訊管理) 02 案例分析及實現 06 通過方法實現學生類與專業類關聯——方案三

102 01 Android 零基礎入門 02 Java面向物件 03 綜合案例(學生資訊管理) 02 案例分析及實現 06 通過方法實現學生類與專業類關聯——方案三

本文知識點:通過方法實現學生類與專業類關聯——方案三

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

通過方法實現學生類與專業類關聯——方案三

將專業類變為學生類的一個成員屬性



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;
	}
}

測試