日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类

發布時間:2024/8/1 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java黑皮書課后題第11章:11.2(Person Student Employee Faculty Staff類)

  • 題目
  • 缺陷
  • UML圖
  • 代碼
    • Test02_MyDate.java:用于參考的MyDate
    • Test02_Person.java:Person類
    • Test02_Student.java: Student類
    • Test02_Employee.java:Employee類
    • Test02_Faculty.java:Faculty類
    • Test02_Staff.java:Staff類
    • Test02.java:測試程序所在類

題目

11.2(Person、Student、Employee、Faculty和Staff類)設計一個名為Person的類及其兩個名為Student和Employee的子類。Employee類又有子類:教員類Faculty和職員類Staff。每個人都有姓名、地址、電話號碼和電子郵件地址。學生有班級狀態(大一、大二、大三或大四)。將這些狀態定義為常量。一個雇員涉及辦公室、工資和受聘日期。使用編程練習題10.14中定義的MyDate類為受聘日期創建一個對象。教員有辦公時間和級別。職員有頭銜。重寫每個類中的toString方法,顯示相應的類名和人名。
畫出這些類的UML圖并實現這些類。編寫一個測試程序,創建Person、Studet、Employee、Faculty和Staff,并且調用他們的toString方法,顯示響應的類名和人名
畫出這些類的UML圖并實現這些類。編寫一個測試程序,創建Person Student Employee Faculty和Staff,并調用它們的toString方法

缺陷

題目很冗長,但介紹還不全
各個方法有getter and setter、構造器方法沒有、輸出語句格式是什么……這些都沒說
全憑感覺

UML圖

博主剛剛入門UML,還會有很多問題,歡迎大佬指正

代碼

Test02_MyDate.java:用于參考的MyDate

點擊這里瀏覽編程練習題10.14中定義的MyDate類

import java.util.GregorianCalendar;public class Test02_MyDate {int year, month, day; // 月從0開始public Test02_MyDate(){GregorianCalendar gc = new GregorianCalendar();year = gc.get(GregorianCalendar.YEAR);month = gc.get(GregorianCalendar.MONTH);day = gc.get(GregorianCalendar.DAY_OF_MONTH);}public Test02_MyDate(long l){GregorianCalendar gc = new GregorianCalendar();gc.setTimeInMillis(l);year = gc.get(GregorianCalendar.YEAR);month = gc.get(GregorianCalendar.MONTH);day = gc.get(GregorianCalendar.DAY_OF_MONTH);}public Test02_MyDate(int year, int month, int day){this.year = year;this.month = month;this.day = day;}public void setDate(long elapsedTime){GregorianCalendar gc = new GregorianCalendar();gc.setTimeInMillis(elapsedTime + toCalender(year, month, day));year = gc.get(GregorianCalendar.YEAR);month = gc.get(GregorianCalendar.MONTH);day = gc.get(GregorianCalendar.DAY_OF_MONTH);}public long toCalender(int year, int month, int day){day += year * 365;switch (month){case 11: day += 31;case 10: day += 30;case 9: day += 31;case 8: day += 30;case 7: day += 31;case 6: day += 31;case 5: day += 30;case 4: day += 31;case 3: day += 30;case 2: day += 31;case 1: day += 28;}return (long) day * 24 * 60 * 60 * 1000;} }

Test02_Person.java:Person類

public class Test02_Person {int name, address, phoneNumber, email;// 重寫toString方法@Overridepublic String toString(){return "Test02_Person -- " + name;} }

Test02_Student.java: Student類

public class Test02_Student extends Test02_Person{static String dayi = "freshman";static String daer = "sophomore";static String dasan = "junior";static String dasi = "senior";// 重寫toString方法@Overridepublic String toString(){return "Test02_Student -- " + name;} }

Test02_Employee.java:Employee類

import java.util.Date;public class Test02_Employee extends Test02_Person{// 辦公室String office;// 工資int salary;// 受聘日期Date dateOfEmploy;// 為受聘日期創建一個對象public static void main(String[] args) {Test02_MyDate my = new Test02_MyDate();}// 重寫toString方法@Overridepublic String toString(){return "Test02_Employee -- " + name;} }

Test02_Faculty.java:Faculty類

import java.util.Date;public class Test02_Faculty extends Test02_Employee{// 辦公時間Date workTime;// 級別int level;// 重寫toString方法@Overridepublic String toString(){return "Test02_Faculty -- " + name;} }

Test02_Staff.java:Staff類

public class Test02_Staff extends Test02_Employee{// 頭銜String title;// 重寫toString方法@Overridepublic String toString(){return "Test02_Staff -- " + name;} }

Test02.java:測試程序所在類

public class Test02 {public static void main(String[] args) {// 創建多個對象并調用toString方法Test02_Person p = new Test02_Person();System.out.println(p.toString());Test02_Student stu = new Test02_Student();System.out.println(stu.toString());Test02_Employee e = new Test02_Employee();System.out.println(e.toString());Test02_Faculty f = new Test02_Faculty();System.out.println(f.toString());Test02_Staff staff = new Test02_Staff();System.out.println(staff.toString());} }

總結

以上是生活随笔為你收集整理的Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。