나는 SourceFactory, Source 및 SourceTypeI의 세 가지 클래스로 구성된 경우가 있습니다. SourceFactory에서만 SourceTypeI의 인스턴스를 만들고 싶습니다. 즉, SourceFactory 이외의 클래스는 SourceTypeI의 인스턴스를 작성할 수 없습니다. 다른 클래스가 SourceTypeI를 만들 수 없도록하려면 어떻게해야합니까?다른 클래스가 하나의 클래스의 인스턴스를 만드는 것을 방지하려면 어떻게해야합니까?
예상 사용법; 나는 당신의 질문을 이해하면
SourceFactory sF = new SourceFactory();
Source source = sF.createSource();
// from there, I should reach methods of SourceTypeI via source
source.whoIs();
클래스
|-------------| |-----------------------|
|SourceTypeI | |SourceFactory |
|-------------| |-----------------------|
|+whoIs():void| |+createSource():Source |
| | | |
|-------------| |-----------------------|
|-----------------------------|
| Source | <- Source cannot be instantiated, it is used just a
|-----------------------------| for referencing instance of SourceTypeI
| |
|-----------------------------|
제한된 소스 (코드 쇼로 표시됨) 또는 SourceTypeI (텍스트가 말하는대로)입니까? – laune