내가 올바르게 이해했다면 기본적으로 찾고있는 것은 다른 사용자 유형 (A, B, C)에 대해 서로 다른 속성을 정의하는 것입니다.
모든 유형에 대해 동일한 클래스를 사용하도록 "강제 설정"하려고하기 때문에이 문제가 발생합니다. 더 간단하고 명확한 접근법은 각 사용자 유형을 다른 클래스 세트로 매핑하는 것입니다.
현재 구현 :
PS를 : 여기 내 말은 무엇이며 나는이 오히려 자바보다 더 OOP 질문처럼 생각합니다.
hide properties b,c (just an example)
+----------- A
|
|hide property c (just an example)
K--------+----------- B
|
|add property d (just an example)
+----------- C
제안 된 접근 방식 :
K----------------- A
L----------------- B
M----------------- C
그리고 당신의 필요에 따라 KLM 클래스를 구성 할 수 있습니다. 부모 클래스에서 속성의 일부를 일반화 할 수 있다면 P라고 말한 다음 해당 속성을 해당 클래스로 이동하고 모든 특정 속성을 하위 클래스 (K, L, M)로 이동하십시오.
IMHO,이 방법은 훨씬 깨끗합니다.
출처
2017-11-19 09:58:26
Alp