«abstract-class» 태그된 질문

추상 클래스는 인스턴스화 할 수없는 클래스입니다. 그들은 일반적으로 확장 / 하위 클래스를 의미하며 일반적으로 하위 클래스에 의해 구현되어야하는 "추상 메서드"를 가지고 있습니다.

5
이미 추상 클래스가 있다면 인터페이스를 정의하는 것이 합리적입니까?
기본 / 공유 기능이있는 클래스가 있습니다. 나는 그것을 위해 사용 abstract class한다 : public interface ITypeNameMapper { string Map(TypeDefinition typeDefinition); } public abstract class TypeNameMapper : ITypeNameMapper { public virtual string Map(TypeDefinition typeDefinition) { if (typeDefinition is ClassDefinition classDefinition) { return Map(classDefinition); } ... throw new ArgumentOutOfRangeException(nameof(typeDefinition)); } protected abstract …

5
추상 클래스의 모든 공용 메소드를 가상으로 표시해야합니까?
나는 최근에 내가 사용하고있는 일부 OSS에서 추상 기본 클래스를 업데이트하여 가상으로 만들어서 더 테스트 할 수 있도록해야했습니다 (두 인터페이스를 결합하여 인터페이스를 사용할 수 없었습니다). 이를 통해 가상이 필요한 모든 방법을 표시해야하는지 또는 모든 공용 방법 / 속성 가상을 표시해야하는지 생각하게되었습니다. 나는 일반적으로 모든 방법을 가상되어야한다고 로이 Osherove에 동의하지만, 나는 나에 …

6
추상 클래스에는 어떤 코드가 포함되어야합니까?
나는 최근에 추상 클래스 사용에 대해 고민하고 있습니다. 때로는 추상 클래스가 미리 만들어져 파생 클래스가 작동하는 방식의 템플릿으로 작동합니다. 이는 다소 높은 수준의 기능을 제공하지만 파생 클래스에서 구현할 특정 세부 정보를 생략한다는 것을 의미합니다. 추상 클래스는 몇 가지 추상 메소드를 배치하여 이러한 세부 사항의 필요성을 정의합니다. 이러한 경우 추상 클래스는 …

3
프로그래머가 강제로 정의하도록 기본 클래스의 추상 속성
임베디드 장치의 상태 패턴으로 코딩하고 있습니다. State라는 기본 / 추상 클래스가 있으며 각 개별 (콘크리트) 상태 클래스는 추상 상태 클래스를 구현합니다. 주 클래스에는 여러 가지 추상 메소드가 있습니다. discrete (concrete) 클래스에서 추상 메서드를 구현하지 않으면 Visual Studio에서 다음과 같은 오류가 발생합니다. ... 오류 1 'myConcreteState'가 상속 된 추상 멤버 'myAbstractState'를 …

3
추상 기본 클래스 및 사본 구성, 규칙
종종 객체의 인터페이스를 분리하기 위해 추상 기본 클래스를 갖는 것이 좋습니다. 문제는 CHO에서는 복사 생성 (IMHO)이 기본적으로 거의 깨져 있고 기본적으로 복사 생성자가 생성된다는 것입니다. 그렇다면 파생 클래스에 추상 기본 클래스와 원시 포인터가있을 때의 문제점은 무엇입니까? class IAbstract { ~IAbstract() = 0; } class Derived : public IAbstract { char …

6
추상 메소드 만있는 인터페이스와 추상 클래스간에 차이점이 있습니까?
추상 클래스가 있고이 클래스에 추상 메소드 만 있다고 가정 해 봅시다. 이 추상 클래스는 메소드가 동일한 인터페이스와 다른가? 내가 알고 싶은 것은 추상적 멤버와 동등한 인터페이스를 가진 추상 클래스 간의 철학적, 객관적 및 기본 프로그래밍 언어 구현에 차이점이 있는지 여부입니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.