0
比方說,我有User
班,User
可以是Employee
,Applicant
(既有職位,但在其他地方申請工作),或者都沒有(失業和不申請工作)。如何在Java中建立Can-Be-A關係?
我如何定義在Java使得User
可強制轉換爲Employee
但只有當他們實際上被採用,並且同樣爲其他場景,如果他們失業(不能被強制轉換爲Employee
或Applicant
這種關係而不是申請工作)?
這是否需要爲每個組合繼承User
的單獨類別,即Employee
,Applicant
, EmployeeAndApplicant
?
在運行時驗證鑄件。如果你想確保它是正確的類型,首先檢查。 – shmosel
您可以使用組合和/或多個接口來支持組合。 – shmosel
聽起來像「被僱用」和「應用」是狀態而不是「用戶」的固有特性,所以我通常會將它們拆分爲子記錄。 – chrylis