클래스에있는 일련의 함수가 있습니다. 이 기능은 가장 낮은 공통점 집합입니다.내 추상화를 구성하는 방법?
이 정보를 실행할 수 있으려면 특정 정보를 생성해야하지만이 정보는 두 경로 중 하나에서 내 수업에 도착할 수 있습니다.
public class onHoliday(){
private Object modeOfTravel;
private Object location;
public onHoliday(Object vehicle, Location GPScoords) {
}
private boolean haveFun() {
//function to have fun, needs 4 people
}
}
가 나도 차 또는으로 내 휴가를 얻을 수 있습니다 상상할 수 있습니다 :
내 상황을 요약하려고합니다....
다음과 같이 I 클래스가 있다고 가정하자 자전거.
내 haveFun()
기능은 차량의 종류에 따라 다릅니다.
그러나 느슨하게. 내 차량 유형을 결정하고 필요한 값을 추출하는 또 다른 기능이 있습니다. 예를 들어 내가 차를 보내면 나는 한 번에 사명을 구할 수 있지만 내가 자전거를 보내는 경우 내가 필요한 4
내가 현재 두 가지 옵션이 얻을 적어도 2가 필요합니다
과부하를 내 생성자, 그래서 내가 두 개의 자전거 또는 하나의 자동차를 보낼 수로, 그 중 하나를 호출 할 수 있습니다 2 중간 함수 (예를 들어 내 4 명의 사람들의 이름을 얻으려면 전에) 내가
haveFun()
- 이것은 내가 현재하고있는 것입니다 .두 개의 생성자를 두 개의 개별 클래스로 분할하고 제 두 번째 클래스의 객체가되는 세 번째 클래스에서
haveFun()
을 반복합니다. 내 문제는 내 중간 기능은 몇 줄의 코드를 제외하고는 모두 별개의 파일에 넣고 싶지 않다는 것입니다. (난 항상 별도의 파일에 클래스를 넣어!)
주의 사항, 내 haveFun()
나는이 두 클래스의 외부 필요할 것, 또는 onHoliday
되는거야 일이 아니다 (즉. 기회가 없다 주말이나 저녁에 haveFun()
일을하는 중!).
나는 인터페이스에 haveFun()
을 넣는 것에 대해 가지고 있지만, 단 하나의 방법으로 인터페이스를 갖는 것은 쓸모없는 것처럼 보입니다! 그럼에도 불구하고 나는 자전거와 자동차를위한 두 가지 수업 모두에서이 방법을 사용해야합니다.
나는 내 onHoliday
클래스가 어떤 객체 유형을 받아들이는 것에 대해 생각해 보았지만 실수로 배를 내 onHoliday
클래스 (우연히 나는 수영 할 수 없다고 상상해보십시오)로 보내지 않게하고 싶습니다.
내 onHoliday
클래스는 개인 패키지이며 최종적인 것입니다. 사실 다른 클래스의 다른 'private 메소드'를 통해서만 액세스 할 수 있으며 private 메소드 만 있습니다.
EDIT1 :
난 확실히 누군가가 내가 onHoliday() 클래스에 데이터를 전송하는 클래스에서이 문제를 처리 할 것을 제안합니다. 그러나이 클래스 (travel()이라고 부름)는 내가 사용하고있는 차량의 whay 타입에 관심을 가질 이유가 없다. 내가 그렇게하면 신경을 써서 문제를 나무 위로 다른 장소로 옮긴다.이제는 중급 클래스의 모든 클래스를 자동차 또는 자전거에 액세스하도록 다시 작성해야합니다. 즉, 단순히 차량 오브젝트를 받아들이는 순간, 자전거 또는 자동차인지를 결정하는 부울 스위치가 있습니다.
EDIT2 : 난 그냥 했어
다른 후, 내 재미를 실행 내 자전거 또는 자동차 클래스 중 하나에 '내부 클래스'로 구현하기위한 추상 클래스를 가진 약하지만. 그런 다음 내 자전거 또는 교실 멤버에게 액세스 할 수 있습니다. 이것도 이해가 되니?
참고 : 필자는 적어도 onHoliday() 클래스에서 적어도 4 명 이상을 확보해야한다고 언급해야합니다. 그것을 생각하는
어쩌면 또 다른 방법은 ...입니다
I 멀티 페이지 파일을 얻을, 나는 페이지 번호의 통과 목록에서 원하는 페이지를 추출 할 수 있습니다. 또는 여러 파일 목록을 가져올 수 있습니다.
첫 번째 경우 단일 파일 개체를 보내고 두 번째 페이지 번호 을 선택하면 여러 파일 개체 (미리 관심이있는 개체 선택)가 전송됩니다. 아마도 더 나은 설명
FWIW, 단일 방법으로 인터페이스를 갖는 것은 절대적으로 가치가 없습니다. 사실, 때로는 더 좋은 아이디어입니다. – gobernador