어떻게 클래스의 선택 방법과 내 고객을 제한 할 수 있습니다?

사상가 :

하자 내가 다른 기능을 제공하는 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이 인터페이스의 방법을 액세스 할 수있다.

내가 당신을 도울 바랍니다.

추천

출처http://43.154.161.224:23101/article/api/json?id=308409&siteId=1