저는 이것을 구현하는 방법에 대해 약간 혼란 스럽습니다.인터페이스 매개 변수
int에 몇 가지 속성이있는 IActivity라는 인터페이스를 정의했습니다.
나는 다음이 인터페이스를 구현하고 몇 가지 추가 속성
EngagementActivity 및 MPEngagementActivity
를 추가 두 개의 클래스를 만들었습니다. 이 두 클래스는 IActivity를 구현하고 몇 가지 추가 속성을 선언합니다.다음 두 가지 유형의 작업에 공통적 인 모든 기능에 대한 가상 메서드를 구현하는 ActivitySvc라는 기본 클래스가 있습니다.
public abstract void SaveActivity(IActivity activity);
내 문제가를 구현할 때 나는 오류를 얻고 있다는 것입니다 :
나는 그 기본 클래스에서 파생 및 기본 클래스에 선언 된 SaveActivity 방법의 자신의 구현을 제공해야 할 두 가지 클래스를 구현 SaveActivity 메서드는 내 Activity 개체가 IActivity 유형이므로 EngagementActivity 및 MPEngagementActivity 클래스에 고유 한 멤버가 없기 때문에 가능합니다.
내가 뭘 잘못하고 있니?
미리 감사드립니다.
를 오버라이드 (override)하지 않는 수 추상 클래스에서 가상 메서드를 정의 할 수 있습니다, 당신은 일반적으로 * *이 인터페이스를 구현 단지, 기본 데이터 무엇인지 상관하지 않습니다. 네가 그걸 위반하려고하는 것처럼 들린다. – crashmstr
IActivity 구체적인 클래스의 다른 멤버는 무엇을 나타 냅니까? SaveActivity 메서드에서 직접 액세스하려고하는 대신 EngagementActivity 및 MPEngagementActivity 클래스를 숨기고 IActivity를 통해 노출되는 일반적인 메서드로 논리를 래핑 할 수 있습니까? –