我想创建一个类库,它包含一个对象可以派生的接口,比如ISaveableObject.
现在,此接口应实现以下功能:
>从此接口派生的对象应具有ToSaveableObject方法(类似于System.Object.ToString()方法).
>它应该包含一个特定的构造函数,它将一个对象数组作为参数.
这两者之间的连接应该是ToSaveableObject方法返回一个字符串,该字符串获取object []所需的所有属性并将其转换为可读字符串并返回它.
我是想通过使用接口来进入正确的方向,还是更适合这种情况的抽象类?
解决方法
使用抽象基类来形成派生类的合约.你想要的更多的是一个实现细节,它不仅仅是一个接口所能提供的.
抽象基类看起来像这样
public abstract class SaveableObject { protected object[] parameters = new object[0]; protected SaveableObjectBase(object[] objects) { this.parameters = objects; } public abstract string ToSaveableObject(); }
所以现在派生类必须实现ToSaveableObject()方法,并且可以访问构造函数中传递的对象以生成字符串.
如果ToSaveableObject方法的构造算法对于所有派生类型都是相同的,那么您应该只在基本抽象类中实现该方法,以便所有派生类都具有已经内置的功能.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。