099 01 Android 零基礎入門 02 Java面向對象 03 綜合案例(學生資訊管理) 02 案例分析及實現 03 編寫並測試Student類
- 2020 年 10 月 8 日
- 筆記
- 00 Android從基礎到進階
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());
}
}