문문제 : 우리는 각각 다른 방법을 구현하고 일부는 또한 자신을 구현하기 위해 서로의 방법을 사용하는 여러 클래스 파일 (~ 200 +)를 가지고 행동 양식.여러 클래스를 참조하는 하나의 자바 클래스/인터페이스를 구현
코드에서 이러한 클래스 메서드 (~ 20-30)를 여러 개 호출하고 UI 웹 페이지에 쓰고 웹 페이지에서 읽는 것과 같은 기능을 제공 할 수 있습니다.
우리는이 과정을 간단하게하기 위해 이러한 여러 클래스 참조 (~ 200 +)를 모두 포함하는 단일 클래스/인터페이스를 원하며 코드에서이 단일 클래스/인터페이스를 가져 오거나 포함해야합니다. 클래스 파일의 모든 메소드를 참조하는 데 사용합니다.
질문 : 위 내용을 사용할 수 있습니까? 그렇다면 어떻게 - 클래스 또는 인터페이스 또는 다른 것을 사용합니까?
내가 예, 우리가 여기에 시도 어떤 정보를 제공하고 있습니다 : 기본적으로 Implement multiple classes in the same interface in Java?
을, 우리는
- 을 시도 여러 클래스 (위에서 언급 한 ~ 200 +)에서 구현 된 인터페이스
- 클래스 및 인터페이스 구현
아무렇지도 않게 작동하는 것 같습니다.
코드에서 원하는 것의 요지로 아래 예를 제공하십시오. 나는 "ABC_FamilyGivenName 불리는이 개 수업을
:
는 예제 (오른쪽 코드 나 구현하지 , 그냥 우리가 코드에서 수행 할 작업의 예를 제공하기 위해 원) "&"ABC_DOBGender ". "Common"인터페이스를 만들었습니다.
클래스 "Application"의 코드에서 위의 두 클래스의 메소드를 사용하고 싶습니다. 현재 구현으로
는, 자바는 ABC_FamilyGivenName ABC_DOBGender & 모두에 @Override를 추가하는 저를 원한다. 우리는 ~ 500 개의 메소드가 있으면 오버 헤드를 다시 생성하므로 c ~ 200 클래스 파일 각각에서 ~ 500을 모두 오버라이드해야합니다. ??***INTERFACE***:
public interface Common {
void ABC_GivenNames();
void ABC_FamilyNames();
void ABC_Gender();
void ABC_BirthDay();
}
***IMPLEMENTATION CLASSES***:
**ABC_FamilyGivenName**
public class ABC_FamilyGivenName extends Base implements Common {
public void ABC_GivenNames(){
// Implementation code
}
public void ABC_FamilyNames(){
// Implementation code
}
}
**ABC_DOBGender**
public class ABC_DOBGender extends Base implements Common {
public void ABC_Gender(){
// Implementation code
}
public void ABC_BirthDay(){
// Implementation code
}
}
**USE IMPLEMENTED CLASS IN CODE**:
public class Application extends Base {
Common commonClass = new ABC_FamilyGivenName();
/* *DO I NEED THIS? I THINK I DO, BUT CODE/JAVA SAYS I DO NOT*
* Common commonClass = new ABC_DOBGender();
*/
public void ELP_C0050_PassportDetails(){
commonClass.ABC_GivenNames();
commonClass.ABC_FamilyNames();
commonClass.ABC_DOB();
commonClass.ABC_Gender();
}
}
코드를 잘 이해하지 못하는 한 가지는 성별 및 familyname 구현이있는 "공통점"이 있다는 것입니다. 인터페이스는 유사하지만 다른 클래스에 공통 메소드를 구현하는 데 사용됩니다. 따라서 두 클래스 모두에 하나의 클래스가 있거나 각각에 대해 두 개의 별도 인터페이스가있는 것이 더 합리적입니다. 인터페이스는 두 구현 클래스가 모두 재정의 된 추상 메소드를 갖도록합니다. – SynchroDynamic
@SynchroDynamic 그렇습니다. 이것은 우리가 생각한 것일 뿐이지 만 우리 문제에 대한 해결책은 아닙니다. 필자가 제공 한 코드는 우리가 우리 문제에 대한 해결책으로 필요로하는 것을하지 않으며, 사용자가 사용하기 쉽고 여러 클래스를 기억하지 않고 가져 와서 인스턴스화하는 방식으로 구현하려는 아이디어를 얻을 수 있기를 바랬다. as new() – gagneet
실례로, 내가 생각한 바를 기반으로 구성 요소 클래스를 작성하는 것을 고려해야합니다. 이렇게하면 특정 객체 유형을 얻기위한 인터페이스를 구축 할 수 있습니다. 예를 들어 기쁘게 생각합니다. 도움이 될 수 있습니다. 그렇지 않을 수도 있습니다. – SynchroDynamic