«inheritance» 태그된 질문

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

9
상속을위한 디자인은 어떻게 추가 비용을 발생시킬 수 있습니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . 그래서 나는로부터 상속 원 sealed class에 CSHARP 및 점화되었다. 소스에 액세스 할 수 없으면 봉인을 해제 할 방법이 …
12 c#  inheritance 

2
Java가 C ++과 같은 개인 / 보호 된 상속을 지원하지 않는 이유는 무엇입니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …

4
병렬 계층-부분적으로 동일, 부분적으로 다릅니다
비슷한 질문이 많이 있습니다. 1 ,2 ,3 ,4 , 그러나이 질문에서는 그렇지 않은 것처럼 보이거나 솔루션이 최적으로 보이지도 않습니다. 다형성, 제네릭 및 믹스 인을 사용할 수 있다고 가정하면 일반적인 OOP 질문입니다. 사용되는 실제 언어는 OOP Javascript (Typescript)이지만 Java 또는 C ++에서 동일한 문제입니다. 나는 때때로 같은 행동 (인터페이스와 구현)을 공유하는 …

5
이 시나리오에서 구성 또는 상속을 선호해야합니까?
인터페이스를 고려하십시오. interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } 이 인터페이스는 다양한 모양 (예 : SineWaveGenerator및 SquareWaveGenerator)의 파도를 생성하는 여러 클래스로 구현됩니다 . SoundWave원시 사운드 데이터가 아닌 음악 데이터를 기반으로 클래스를 생성하고 싶습니다 . 비트 이름 (초가 아님)으로 메모의 이름과 길이를 수신하고 내부적으로 IWaveGenerator기능을 사용하여 SoundWave그에 따라 작성합니다 …

5
돌연변이 방법에 대한 별도의 인터페이스
나는 코드를 리팩토링하는 일을하고 있었고, 토끼 구멍에서 첫 단계를 밟은 것 같다. Java로 예제를 작성하고 있지만 무시할 수 있다고 생각합니다. 인터페이스를 Foo다음과 같이 정의했습니다. public interface Foo { int getX(); int getY(); int getZ(); } 그리고 다음과 같은 구현 public final class DefaultFoo implements Foo { public DefaultFoo(int x, int …

9
어떤 OO 디자인을 사용해야합니까 (디자인 패턴이 있습니까)?
'Bar / Club'(음료 / 사회적 장소)을 나타내는 두 가지 개체가 있습니다. 한 시나리오에서 막대 이름, 주소, 거리, 슬로건이 필요합니다. 다른 시나리오에서는 바 이름, 주소, 웹 사이트 URL, 로고가 필요합니다 그래서 같은 것을 나타내지 만 다른 필드를 가진 두 개의 객체가 있습니다. 불변의 객체를 사용하고 싶습니다. 그래서 모든 필드는 constructor에서 설정됩니다 …

5
RealNumber 및 ComplexNumber 상속을 구현하는 방법은 무엇입니까?
학문적이지 않기를 바랍니다. SW 라이브러리에 실수와 복소수가 필요하다고 가정 해 봅시다. 에 기초하는 것이다-A (또는 여기 ) 관계, 실제 번호는 A는 복소수의 허수 부분 B는 단순히 0 복소수. 반면에 내 구현은 자식이 부모를 확장하므로 부모 RealNumber에는 실제 부분이 있고 자식 ComplexNumber는 가상의 예술을 추가합니다. 또한 상속은 악하다 는 의견 이 …

5
LSP를 위반해도 괜찮습니까?
이 질문 에 후속 조치를 취하고 있지만 코드에서 원칙으로 초점을 전환하고 있습니다. 의 나의 이해에서 Liskov 대체 원칙 방법은 내 기본 클래스에있는 어떤 (LSP), 그들은 내 서브 클래스에서 구현되어야하며,에 따라 이 페이지는 기본 클래스의 메소드를 오버라이드 (override)하는 경우 그것은 아무것도하지 않는다 또는를 던졌습니다 예외, 당신은 원칙을 위반합니다. 이제 내 문제는 …

1
간단한 구성 대신 약한 참조를 사용하는 것이 더 나은 상황이 있습니까?
있지만 자바 문서가 지정이 약한 참조는 기본적으로 매핑 정규화를 들어, 당신이 찾을 수있는 많은 , 많은 , 많은 의 WeakHashMap의 수명 동안 오브젝트 메타 데이터를 저장하기위한 완벽한이라고 진술 인터넷에서 사람들을. 그러나 아무도 이해하기 쉽고 적절한 모범 을 보이려고하지 않습니다 . WeakHashMap을 사용하여 객체를 추가하거나 메타 데이터 사운드를 저장하십시오. 다시 말해 …

2
파이썬의 상속은“is-a”상속 스타일입니까 아니면 구성 스타일입니까?
파이썬이 다중 상속을 허용한다는 것을 감안할 때 파이썬의 관용 상속은 어떻게 생겼습니까? Java와 같은 단일 상속을 가진 언어에서 상속은 하나의 객체가 다른 객체의 "is-a"라고 말하고 객체간에 코드를 공유하려고 할 때 사용됩니다 (부모 객체에서 자식 객체로). 예를 들어, 당신은 말할 수 DogA는 Animal: public class Animal {...} public class Dog extends …

3
상속 : 수퍼 클래스의 코드가 사실상 * 복사 *되어 서브 클래스로 전달됩니까, 아니면 * 서브 클래스 *로 참조됩니까?
Class Sub는 class의 하위 클래스 Sup입니다. 그것은 실제로 무엇을 의미합니까? 다른 말로하면, "상속"의 실제 의미는 무엇입니까? 옵션 1 : Sup의 코드가 사실상 Sub로 복사 됩니다. (마찬가지로 '는 복사 - 붙여 넣기 "되지만 복사 코드없이 시각적 서브 클래스에서 본). 예 : methodA()Sup. Sub methodA()는 Sup를 확장하므로 (가상) Sub에 복사하여 붙여 넣습니다. …

12
"메소드가 변경없이 재사용되는 경우 메소드를 기본 클래스에 넣거나 인터페이스를 작성하십시오"라는 것이 좋은 규칙입니까?
내 동료가 기본 클래스 또는 인터페이스를 만드는 중 하나를 선택하기위한 규칙을 제시했습니다. 그는 말한다 : 구현하려는 모든 새로운 방법을 상상해보십시오. 그들 각각의 경우,이 고려 : 이 방법은 하나 개 이상의 클래스에 의해 구현 될 것입니다 정확히 없이,이 양식에 어떤 변화? 대답이 "예"이면 기본 클래스를 작성하십시오. 다른 모든 상황에서는 인터페이스를 만듭니다. …

2
프로토 타입을 생성 할 때 생성자를 사용하지 않는 이유는 무엇입니까?
빠른 배경 : JavaScript에서 각 객체 유형에 대한 생성자 함수에는 prototype속성이 있습니다. 이는 prototype생성 된 각 객체가 프로토 타입 체인에서 다음 단계로 사용하는 객체를 나타냅니다. 한 유형을 다른 유형에서 고유하게 prototype하려면 하위 유형을 상위 유형의 새 인스턴스로 설정할 수 있습니다 . 예를 들면 다음과 같습니다. var Parent = function() { …


5
인터페이스와 상속 : 두 세계의 최고?
나는 인터페이스를 '발견'했고 그것들을 사랑하기 시작했다. 인터페이스의 장점은 계약이라는 것입니다. 계약을 이행하는 모든 개체는 해당 인터페이스가 필요한 모든 곳에서 사용할 수 있습니다. 인터페이스의 문제점은 기본 구현을 할 수 없다는 것입니다. 이는 평범한 속성에 대한 고통이며 DRY를 물리칩니다. 이것은 구현과 시스템이 분리 된 상태를 유지하기 때문에 좋습니다. 한편 상속은 더 긴밀한 …

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