Java 프로그래밍의 새로운 기능이지만 기본적인 이해가 필요합니다. 여기에 내 질문은, 나는 기본 클래스를 가지고 많은 클래스는이 기본 클래스를 확장합니다. 어떤 경우에는 기본 클래스 메서드에 의해 수행 된 표준 작업 후에 일부 하위 클래스에 대해서만 작업을 수행해야합니다. 그래서 나는 다음과 같이 끝냈습니다. 그냥 OOPS 당 올바른지 확인하고 싶습니다Java 기본 클래스 및 하위 클래스 메서드가 재정의합니다.
class BaseClass {
public void deleteThisRecord() {
// All standard code goes here
doSomethingAfterDelete(); // call clean up method after sucessful delete
}
public void doSomethingAfterDelete() {
// Nothing is here, let the sub class override this if there is need
}
}
class OneClass extends BaseClass {
// other methods
@Override
public void doSomethingAfterDelete() {
// do some action after delete
}
}
이 경우 작동합니다 기본 클래스는 기본 구현을 가지며 일부 하위 클래스를 변경하려고합니다. 하위 클래스가 그것을 가지고 있기를 원한다면 추상 클래스를 사용하는 것에 대해 생각하고 싶을 수도있다. – dbarnes
이 질문은 http://codereview.stackexchange.com/에 대한 주제에 관한 것이지만 내 의견을 말하기에는 불법이 아니다. 이것에 대해. 나는 추상적 인 방법보다 약간 더 융통성이 있기 때문에 때때로 그것을한다. 때로는 하위 클래스 중 일부에서만 무언가를 수행하기를 원합니다. – Radiodef
서브 클래스는'doSomethingAfterDelete()'를 호출하지 않고 다시 구현하지 않도록'deleteThisRecord()'** final **을 작성해야합니다. – SJuan76