2014-06-13 5 views
1

두 프로세스의 기능 중 파일을 병합하는 공통 기능이 있습니다. 나는 인터페이스가하는 것처럼 어떤 방법을 가지고있는 프로세스를 주장 할 필요가 없다. 또한 두 프로세스는 독립적입니다. 그럼, 그냥 Abstract 클래스로 가서 그 추상 클래스 자체의 구현을 가지고 괜찮습니까? 또한 어떤 추상적 인 방법도 필요하지 않습니다.추상 클래스와 인터페이스 중에서 선택하십시오.

+0

몇 가지 대답을 제안하고 downvote 수 있습니까? – Harbinger

답변

0

하위 클래스와 기본 클래스 사이에 IS-A 관계가있는 경우 상속이 사용됩니다. 나는 그것이 여기의 경우라고 생각하지 않는다. 당신은 언어를 지정하지 않았지만 당신의 프로파일에서 나는 자바를 사용하고 있다고 생각합니다. 그래서 당신이 추상 클래스를 사용한다면 미래에 더 적절한 다른 클래스로부터 상속받을 수 없을 것입니다.

상속 대신 구성을 사용할 수 있습니다. 즉, 파일을 병합하는이 메서드가있는 일반 파일 병합 클래스를 만드는 것입니다. 그리고이 기능을 원하는 클래스에서이 새로운 파일 병합 클래스를 인스턴스화합니다. 앞으로 다른 클래스에서 상속받을 수 있습니다.

이러한 클래스가 파일을 병합 (다형성 사용) 할 수 있다고 알리고 싶다면 Java 8을 사용하여 인터페이스 내에 default 메소드를 생성하고이 기본 메소드를 대체하지 않고이 인터페이스를 구현할 수 있습니다. 그러나이 경우에는 구성이 더 좋아질 것이라고 생각합니다.

관련 문제