«inheritance» 태그된 질문

상속은 프로그래밍 언어 지원에 따라 기존 객체의 코드를 재사용하거나 기존 객체의 하위 유형 또는 둘 다를 설정하는 방법입니다.

5
메소드를 호출 할 수 있다는 것을 정의하는 것보다 메소드를 정의하는 것이 어떻게 강력한 약속보다 우선 할 수 있습니까?
보낸 사람 : http://www.artima.com/lejava/articles/designprinciples4.html Erich Gamma : 10 년이 지난 후에도 여전히 그렇습니다. 상속은 행동을 바꾸는 멋진 방법입니다. 그러나 우리는 서브 클래스가 그것을 재정의하는 메소드가 호출되는 컨텍스트에 대해 쉽게 가정 할 수 있기 때문에 취하기 쉽다는 것을 알고 있습니다. 플러그인하는 서브 클래스 코드가 호출되는 암시 적 컨텍스트로 인해 기본 클래스와 …

5
Java Swing 클래스는 언제 확장해야합니까?
상속 구현에 대한 나의 현재 이해는 IS-A 관계가 존재 하는 경우에만 클래스를 확장해야한다는 것 입니다. 부모 클래스가 다른 기능을 가진 더 구체적인 자식 유형을 가질 수 있지만 부모에서 추상화 된 공통 요소를 공유합니다. Java 교수가 우리에게 권장하는 것이 있기 때문에 이해하는 것에 의문을 제기하고 있습니다. 그는 JSwing우리가 수업 시간에 구축 …


3
Java 개발에는 일반적으로 C # /. NET보다 더 많은 서브 클래 싱이 포함됩니까?
최근에 Android 개발을 살펴보기 시작했습니다. 이것은 Java 소프트웨어 개발의 세계로 다시 돌아 왔습니다. Java로 마지막으로 작업했을 때, 나는 지금 (나는 생각하는 것)만큼 OOP를 이해하지 못했다는 것을 인정할 것이다. 내 경력에서 주로 C #을 사용하면서 상속이 Java 및 C #을 사용하는 방식에 놀라운 차이가 있음을 알았습니다. C #에서는 대부분의 상황에서 상속을 …

5
파이썬 믹스 인은 안티 패턴입니까?
나는 pylint다른 정적 분석 도구가 모든 것을 알지 못한다는 것을 알고 있으며 때로는 그들의 조언에 불복종해야합니다. (이것은 conventions 뿐만 아니라 다양한 메시지 클래스에 적용됩니다 .) 내가 같은 수업이 있다면 class related_methods(): def a_method(self): self.stack.function(self.my_var) class more_methods(): def b_method(self): self.otherfunc() class implement_methods(related_methods, more_methods): def __init__(self): self.stack = some() self.my_var = other() …

10
서브 클래스의 API를 오염 시키더라도 스스로 캐스팅하는 객체를 갖는 것이 괜찮습니까?
나는 기본 수업이 Base있습니다. 그것은 두 개의 서브 클래스를 가지고 Sub1와 Sub2. 각 서브 클래스에는 몇 가지 추가 메소드가 있습니다. 예를 들어, Sub1has Sandwich makeASandwich(Ingredients... ingredients)및 Sub2has가 boolean contactAliens(Frequency onFrequency)있습니다. 이러한 방법은 다른 매개 변수를 사용하고 완전히 다른 작업을 수행하기 때문에 완전히 호환되지 않으며이 문제를 해결하기 위해 다형성을 사용할 수 …

7
생성자가 상속되지 않는 이유는 무엇입니까?
생성자가 기본 클래스에서 상속 된 경우 문제가 무엇인지 혼동됩니다. Cpp Primer Plus는 말합니다. 생성자는 새로운 객체를 생성한다는 점에서 다른 클래스 메소드와 다릅니다. 반면에 다른 객체는 기존 객체에 의해 호출됩니다 . 이것이 생성자가 상속되지 않는 이유 중 하나 입니다. 상속은 파생 된 개체가 기본 클래스 메서드를 사용할 수 있지만 생성자의 경우 …
33 c++  inheritance 

10
“Child x = new Child ();”대신“Parent x = new Child ();”가 후자를 사용할 수 있다면 나쁜 습관입니까?
예를 들어, 다음과 같은 조각을 만드는 코드를 보았습니다. Fragment myFragment=new MyFragment(); MyFragment 대신 변수를 Fragment로 선언합니다. MyFragment는 Fragment의 자식 클래스입니다. 이 코드는 다음과 같아야한다고 생각하기 때문에이 코드 줄을 만족시키지 못했습니다. MyFragment myFragment=new MyFragment(); 어느 것이 더 구체적입니까? 또는 질문의 일반화에서 사용하는 것이 나쁜 습관입니까? Parent x=new Child(); 대신에 Child x=new …


7
상속 된 메소드를 테스트해야합니까?
기본 클래스 Employee 에서 파생 된 클래스 Manager 가 있고 Employee 에 Manager 가 상속 한 getEmail () 메소드가 있다고 가정하십시오 . 관리자의 getEmail () 메소드 의 동작이 실제로 직원의 동작과 동일한 지 테스트해야합니까 ? 이러한 테스트가 작성 될 때의 동작은 동일하지만, 앞으로 어느 시점에서 누군가이 방법을 무시하고 동작을 변경하여 …

4
프로토 타입 상속은 클래식 상속과 실제로 어떻게 다른가요?
상속, 다형성 및 캡슐화는 OOP의 가장 뚜렷하고 중요한 세 가지 기능이며, 그로부터 상속은 요즘 높은 사용 통계를 가지고 있습니다. 저는 JavaScript를 배우고 있으며 여기에서 모두 프로토 타입 상속이 있다고 말하고 모든 사람들 이 클래식 상속 과 는 전혀 다르다고 말합니다 . 그러나 실제 사용 시점과의 차이점이 무엇인지 이해할 수 없습니까? …

5
많은 작은 클래스 대 논리적 (그러나) 복잡한 상속
좋은 OOP desing, 깨끗한 코드, 유연성 및 미래의 코드 냄새 방지 측면에서 무엇이 더 좋은지 궁금합니다. 클래스로 표현해야하는 매우 유사한 객체가 많이있는 이미지 상황. 이러한 클래스는 특정 기능이없고 데이터 클래스 만 있으며 이름 (및 컨텍스트)에 따라 다릅니다. 예 : Class A { String name; string description; } Class B { …

3
상속이없는 OO 언어가 있습니까?
오늘 코드 검토 중에 내 동료가 흥미로운 것을 말했습니다. prototype상속이 필요할 때만 유용합니다. 상속이 언제 좋은 아이디어 입니까? 나는 이것에 대해 생각했고 처음에는 잘못 설계 된 코드를 피하기 위해 상속을 사용한다는 것을 깨달았습니다. 현대의 OO 스타일은 상속보다 구성을 선호하지만, 이것을 마음에 새기고 실제로 시행 하는 언어는 모릅니다 . 클래스 기반 …

3
공통 기능을 공유 할 Windows 양식을위한 최고의 디자인
과거에는 상속을 사용하여 응용 프로그램에서 Windows 양식을 확장 할 수있었습니다. 모든 양식에 공통 컨트롤, 아트 워크 및 기능이있는 경우 공통 컨트롤 및 기능을 구현하는 기본 양식을 만든 다음 다른 컨트롤이 해당 기본 양식에서 상속 할 수 있습니다. 그러나 그 디자인에 몇 가지 문제가 있습니다. 컨트롤은 한 번에 하나의 컨테이너에만있을 수 …

3
전제 조건 강화와 후 조건 약화는 Liskov 대체 원칙을 어떻게 위반합니까?
나는 Liskov의 대체 원칙 이 다음과 같은 경우에 위반 된다는 것을 읽었습니다 . 전제 조건이 강화되거나 사후 조건이 약화 그러나 나는이 두 가지 점이 Liskov 대체 원칙을 어떻게 위반하는지 아직 완전히 알지 못합니다. 예를 들어 설명해 주시겠습니까? 구체적으로, 위의 조건 중 하나가 어떻게 서브 클래스 객체를 수퍼 클래스 객체로 대체 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.