OOP 관점에서 파생 클래스와 상속 클래스 사이에 차이가 있습니까? 아니면 단순히 용어입니까?OOP 파생 클래스와 상속 된 클래스의 차이점은 무엇입니까?
답변
상속을 사용하는 경우 상속 된 클래스를 기본 클래스라고하고 상속하는 클래스를 파생 클래스라고합니다.
다른 사용자의 답변을 반영하는 답의 전체 텍스트를 완전히 변경하면 여기에 좋은 양식으로 간주되지 않습니다. –
@Neil : 반대로. 가장 좋은 대답을 만들기 위해 답안을 편집하면 SO가 무엇에 관한 것입니까? 물론 표절이 좋지는 않지만 편집 내용은 답장을 바탕으로 개선 된 부분이 아니라 특히 뻔뻔스럽지 않은 부분이 있습니다. 특히 C + +에만 해당하므로 (구체적으로 지정할 필요는 없지만 그렇게했습니다.) –
@Vinko 특정 언어로 작성해야 할 필요가있었습니다. 다른 언어는 다른 명칭을 사용합니다. 예를 들어, 스몰 토크 프로그래머는 기본 클래스와 하위 클래스보다는 수퍼 클래스와 하위 클래스에 대해 이야기합니다. –
용어 파생 클래스 C++ 말투 기본 클래스이라고 다른 클래스에서 상속하는 클래스 C++ 용어가 바람직하다. 그래서 C++에서 당신이 물어 보는 용어는 동일합니다.
닐의 대답이 조금 혼란스러워서 약간 public sources을 확인했습니다.
는보다는 기본 클래스와 (자바 용어 SubClass extends BaseClass
)는 하위 클래스을 고려
- 하위 클래스는 기본 클래스 (서브 클래스의 파생 클래스입니다 파생 기본 클래스)
- 하위 클래스 하위 클래스 기본 클래스
그래서 내 의견으로는 두 용어는 클래스 사이 그러나 다른 관점에서 같은 관계를 정의 (기본 클래스는 하위 클래스의 /를 상속 클래스입니다).
하위 클래스라는 용어는 C++에서 일반적으로 사용되지 않습니다. Java에 대해서는 잘 모르지만 OP는 그것에 대해 묻지 않았습니다. –
하지만 그는 C++도 묻지 않았습니다 ... –
상속 베르트 마이어 (객체 지향 소프트웨어 건설, p.464)에 의한 용어 :
기본 규칙과 용어는
다음 용어
는 또한 유용 할 것이다에 "후계자" 및 "부모". 클래스 C 의하위는 C 자체를 포함하여, C 로부터 직접 또는 간접적으로 상속하는 클래스이다. (이전 : 어느 C 또는 재귀 의 후손의 후손 C.) C의 조상 클래스 인 C은 의 자손이다 같은 것을 .문헌 당신은 또한 용어 "서브 클래스"와 "슈퍼 클래스"를 발생합니다,하지만이 모호하기 때문에 우리가 그들과 떨어져있을 것입니다에서
; 때때로 "서브 클래스"는 후계자 (즉각적인 자손)를 의미하며 때로는보다 일반적인 의미의 보조자 자손으로 사용되며 항상 명확하지는 않습니다. 또한이 단어의 "하위 집합" 이 항상 정당화되는 것은 아닙니다. 당신이 메소드를 오버라이드 (override)하는 경우
어쩌면 재미, 델파이는 쓰기 : 이전 질문
inherited; // so "inherited" is the base class
대신
base.BaseImplementation(); // C#
정확한 중복. –
@David - 감사합니다. 좋아, 다른 질문을 삭제했습니다. 두 번 제출해야합니다 .... –