사상가 :
하자 내가 다른 기능을 제공하는 20 가지 방법 1 개 완전한 클래스가 말한다.
이제 우리는이 클래스를 사용하여 여러 클라이언트를 가지고 있지만, 우리는 그들이 제한된 액세스를 갖고 싶어.
예를 들면 용 -
클라이언트 1 - 방법 항목 / m3 / M5 / M7 / M9 / M11에 대한 액세스 권한을 가져옵니다
클라이언트 2 - 방법 2 / M4 / M6 / M8 / M10 / M12에 대한 액세스 권한을 가져옵니다
나는이 액세스를 제한 할 수있는 방법이 있습니까?
내가 생각했던 하나 개의 솔루션 :
액세스 할 수없는 그들로부터 예외를 던져 부모 클래스와 재정의 방법을 확장 2 개 개의 새로운 클래스를 만듭니다. 그러나 다른 요구 사항과 3 클라이언트, 우리는 그들을 위해 새로운 서브 클래스를 생성해야합니다.
이 작업을 수행하는 다른 방법이 있습니까?
마크 텍사스 :
당신은 만들 수 있습니다 Interface1
만을위한 방법을 정의하는 Client1
, 그리고 Interface2
단지에 대한 방법을 정의하는가 Client2
. 그런 다음, 클래스가 구현 Interface1
하고 Interface2
.
당신이 선언 할 때 Client1
당신은 같은 작업을 수행 할 수 있습니다 Interface1 client1
. 이 방식으로, client1
이 인터페이스의 방법을 액세스 할 수있다.
내가 당신을 도울 바랍니다.