102 01 Android 零基礎入門 02 Java面向物件 03 綜合案例(學生資訊管理) 02 案例分析及實現 06 通過方法實現學生類與專業類關聯——方案三
阿新 • • 發佈:2020-10-08
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; } }