只需在接口中实现一些属性
本文关键字:属性 实现 接口 | 更新日期: 2023-09-27 18:12:22
我有一个带有一些属性的接口:
public interface Test
{
string GetName();
string GetLastName();
string GetFullName();
}
和我有一个a和B类实现接口Test。但是在类A中,我只想实现GetName()和GetLastName()方法。类B只实现GetFullName()。我能做吗?因为我想为每个特定的类实现我所需要的
您不能跳过实现接口的某些成员。如果类实现了接口,那么你应该提供完整的实现。
但如果某些客户端不需要接口的所有属性,则将该接口拆分为更小的接口。这就是所谓的界面隔离原则。
public interface TestA
{
string GetName();
string GetLastName();
}
public interface TestB
{
string GetFullName();
}
public interface Test : TestA, TestB
{
}
通过A类实现TestA
接口,通过b类实现TestB
接口。如果没有类需要完整的Test
接口,则删除它。
将两个接口拆分为另外两个接口。然后classA
实现一个接口,classB
实现第二个接口。这就是所谓的界面隔离原则,根据该原则:
不应该强迫客户端依赖于它不使用的方法
有关此原理的更多信息,请查看此处。
By the way是SOLID的五大原则之一