我有一个带有一些属性的界面:
public interface Test
{
string GetName();
string GetLastName();
string GetFullName();
}
我有一个A和B类实现接口Test。但是在A类中,我只想实现GetName()和GetLastName()方法。 B类只实现GetFullName()。我能做到吗?因为我想为每个特定的类实现我需要的东西。
答案 0 :(得分:1)
您不能跳过实现某些界面成员。如果类实现了接口,那么你应该提供完整的实现。
但是如果某个客户端不需要接口的所有属性,则将此接口拆分为较小的接口。这称为接口隔离原则。
public interface TestA
{
string GetName();
string GetLastName();
}
public interface TestB
{
string GetFullName();
}
public interface Test : TestA, TestB
{
}
按类A实现TestA
接口,按类B实现TestB
。如果没有类需要完整接口Test
,则只需删除它。
答案 1 :(得分:0)