«multiple-inheritance» 태그된 질문

클래스가 둘 이상의 수퍼 클래스 또는 기본 클래스에서 동작과 기능을 상속 할 수있는 일부 객체 지향 컴퓨터 프로그래밍 언어의 기능입니다.

16
믹스 인이란 무엇이며 왜 유용합니까?
" Programming Python "에서 Mark Lutz는 "mixins"를 언급합니다. 나는 C / C ++ / C # 배경에서 왔으며 이전 용어를 듣지 못했습니다. 믹스 인이란 무엇입니까? 이 예제 의 행 사이를 읽으면 (매우 길기 때문에 연결되어 있음), '상당한'하위 클래스와 달리 클래스를 확장하기 위해 다중 상속을 사용하는 경우라고 가정합니다. 이게 옳은 거니? …

15
파이썬의 super ()는 다중 상속에서 어떻게 작동합니까?
나는 파이썬 객체 지향 프로그래밍에서 거의 새로 super()왔으며 특히 다중 상속 과 관련하여 함수 (새로운 스타일 클래스)를 이해하는 데 어려움이 있습니다. 예를 들어 다음과 같은 것이 있다면 : class First(object): def __init__(self): print "first" class Second(object): def __init__(self): print "second" class Third(First, Second): def __init__(self): super(Third, self).__init__() print "that's it" …

16
C #의 다중 상속
다중 상속이 나쁘기 때문에 (소스가 더 복잡 해짐) C #은 이러한 패턴을 직접 제공하지 않습니다. 그러나 때때로이 능력을 갖는 것이 도움이 될 것입니다. 예를 들어 인터페이스와 세 가지 클래스를 사용하여 누락 된 다중 상속 패턴을 구현할 수 있습니다. public interface IFirst { void FirstMethod(); } public interface ISecond { void …

6
다중 상속으로 부모 클래스 __init__ 호출, 올바른 방법은 무엇입니까?
다중 상속 시나리오가 있다고 가정 해보십시오. class A(object): # code for A here class B(object): # code for B here class C(A, B): def __init__(self): # What's the right code to write here to ensure # A.__init__ and B.__init__ get called? 작성하는 두 가지 일반적인 방법있다 C'들 __init__: (오래된 스타일) …

16
자바 다중 상속
Java의 다중 상속 문제를 해결하는 방법을 완전히 이해하기 위해 명확히해야 할 고전적인 질문이 있습니다. I 클래스가 있다고 가정하자 Animal이 하위 클래스가 Bird그리고 Horse내가 클래스 만들 필요가 Pegasus에서 확장 Bird하고 Horse있기 때문에이 Pegasus새와 말 모두이다. 이것이 고전적인 다이아몬드 문제라고 생각합니다. 내가 이것을 해결하는 고전적인 방법을 이해할 수있는 것에서 Animal, Bird및 Horse클래스를 …


9
두 가지 일반 유형으로 하나의 인터페이스를 구현하는 Java 클래스를 작성하는 방법은 무엇입니까?
일반 인터페이스가 있습니다 public interface Consumer<E> { public void consume(E e); } 두 가지 유형의 객체를 사용하는 클래스가 있으므로 다음과 같이하고 싶습니다. public class TwoTypesConsumer implements Consumer<Tomato>, Consumer<Apple> { public void consume(Tomato t) { ..... } public void consume(Apple a) { ...... } } 분명히 나는 ​​그것을 할 수 없습니다. …


17
JavaScript의 다중 상속 / 시제품
JavaScript에서 발생하는 기본적인 다중 상속이 필요한 시점에 도달했습니다. (나는 이것이 좋은 아이디어인지 아닌지 논의하기 위해 여기에 있지 않으므로, 그 의견을 친절하게 유지하십시오.) 나는 누군가가 어떤 성공을 거두 었는지, 그리고 어떻게 성공했는지 알고 싶습니다. 그것을 정리하기 위해, 실제로 필요한 것은 둘 이상의 프로토 타입 체인 에서 속성을 상속 할 수있는 객체를 …

7
인터페이스가 Java에서 여러 인터페이스를 확장 할 수 있습니까?
인터페이스가 Java에서 여러 인터페이스를 확장 할 수 있습니까? 이 코드는 내 IDE에서 유효하고 컴파일됩니다. interface Foo extends Runnable, Set, Comparator<String> { } 그러나 Java에서 다중 상속이 허용되지 않는다고 들었습니다. 인터페이스에 예외가있는 이유는 무엇입니까?

11
다중 상속의 정확한 문제는 무엇입니까?
여러 상속이 다음 버전의 C # 또는 Java에 포함되어야하는지 항상 묻는 사람들을 볼 수 있습니다. 이 능력을 가질만큼 운이 좋은 C ++ 사람들은 이것이 마치 누군가가 결국 스스로 매달릴 줄을주는 것과 같다고 말합니다. 다중 상속의 문제는 무엇입니까? 구체적인 샘플이 있습니까?

17
Java 또는 C #에서 다중 상속이 허용되지 않는 이유는 무엇입니까?
Java 및 C #에서는 다중 상속이 허용되지 않는다는 것을 알고 있습니다. 많은 책에서는 다중 상속이 허용되지 않는다고 말합니다. 그러나 인터페이스를 사용하여 구현할 수 있습니다. 허용되지 않는 이유에 대해서는 논의되지 않습니다. 아무도 그것이 허용되지 않는 이유를 정확하게 말할 수 있습니까?


3
Objective-C 다중 상속
하나는 methodA를 포함하고 다른 하나는 methodB를 포함하는 두 개의 클래스가 있습니다. 따라서 새 클래스에서 methodA 및 methodB 메서드를 재정의해야합니다. 그렇다면 목표 C에서 다중 상속을 어떻게 달성합니까? 구문과 약간 혼동됩니다.

7
Java-인터페이스 구현에서 메소드 이름 충돌
두 개의 인터페이스가 있는데, 둘 다 목적이 다르지만 동일한 메서드 서명을 사용하는 경우 인터페이스 모두에 사용되는 단일 메서드를 작성하지 않고 메서드에 복잡한 논리를 작성하지 않고 클래스를 둘 다 구현하도록하려면 어떻게해야합니까? 어떤 유형의 객체가 호출되고 있는지 확인하고 적절한 코드를 호출하는 구현? C #에서 이것은 명시 적 인터페이스 구현이라고하는 것에 의해 극복됩니다. …

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