4 개 필드, 생성자와 게터와 기본 콩 형식의 클래스를 고려 : I 클래스의 사용자에 부과하고 싶은 몇 가지 규칙이 있습니다강제 클래스 인스턴스 규칙
public class Foo {
private final String id;
private final Bar bar;
private final boolean invalid;
private final String errorMessage;
public Foo(String id, Bar bar, boolean invalid, String errorMessage) {
this.id = id;
this.bar = bar;
this.invalid = invalid;
this.errorMessage = errorMessage;
}
}
. 예를 들어
: id 매개 변수가 null 또는 비어해서는 안
- 바 null가 아닌 경우, 무효가 거짓이어야하며 ERRORMESSAGE은 null이어야합니다 ERRORMESSAGE null가 아닌
- 바는 null이어야합니다
- 무효에 해당하는 경우, ERRORMESSAGE이 비어 있지 않은 null이 아닌이어야하며, 줄이 null이어야합니다
T hese 규칙은 기본적으로 유효한 Foo 객체의 네 가지 유형으로 변환됩니다.
(aString, false, null, null), (aString, false, aBar, null), (aString, true, null, anErrorMessage) 및 (aString, false , null, anErrorMessage).
클래스 사용자가 항상 해당 클래스 중 하나를 만들도록 강제로 설정할 수 있습니까?
[예외] (https://docs.oracle.com/javase/tutorial/essential/exceptions /)을 참조하십시오. – Turing85
"* *이어야 함 *"의미 : 유효성 검사/거부 또는 강제 할당? –
"이어야 함"을 의미합니다. "개체는 다음과 같이 인스턴스화되어야합니다." 위의 편집을 참조하십시오. – bez