Java의 문제에 대한 해결책을 찾고 있습니다. 희망 팀이 나를 도울 수 있습니다.Java 추상화 및 인터페이스
다음 고려 클래스 :
Class A{
//constructor
Object obj;
public A(Object obj){
this.obj = obj;
}
public void ma1(){
system.out.println("In ma1");
obj.mc1();
}
public void ma2(){
system.out.println("In ma2");
//A should not be able to access mc2
obj.mc2();
}
}
Class B{
//constructor
Object obj
public B(Object obj){
this.obj = obj;
}
public void mb1(){
system.out.println("In mb1");
// B should not be able to access mc1
obj.mc1();
}
public void mb2(){
system.out.println("In mb2");
obj.mc2();
}
}
Class C{
public void mc1(){
system.out.println("In mc1");
}
public void mc2(){
system.out.println("In mc2");
}
}
public static void main(String[] args){
A a = new A(new C);
B b = new B(new C);
a.ma1();
a.ma2();
b.mb1();
b.mb2();
}
지금은 개체를 원하는 '는이'나는 MC2에 액세스 할 수 및 MC1 안 객체 'B'를 원하는 을 MC2 MC1에 액세스하지 할 수 있어야한다
누구나 위의 기능을 달성하는 방법을 설명 할 수 있습니까? 참고 : 클래스 A, B는 내 유틸리티 클래스이며 해당 메서드는 프로젝트의 여러 위치에서 사용됩니다. 개발자가 특정 메소드에 액세스하지 못하도록 제한하고 싶습니다. 이 귀하의 요구 사항과 일치하는 경우
감사합니다, 모래
당신이 C 2 개 인터페이스 하나를 구현 할 수 각 메소드는 A가 하나의 인터페이스의 인스턴스를, B가 다른 인터페이스의 인스턴스를 수신하도록 정의합니다. C는 둘 다 자격이 있습니다. – njzk2
감사합니다. @ njzk2. 그러나, 나는 당신의 제안을 이해할 수 없다. 당신은 정교하고 코드를 제공 할 수 있습니까? – user3401717
투표가 다운 된 이유는 무엇입니까? – user3401717