选择对象时的最佳做法

时间:2013-07-03 12:54:49

标签: oop inheritance polymorphism

所以我正在创建一个程序,从数据库中收集大量不同的数据,并创建/更新几个图表供最终用户查看。

现在在某种程度上,所有数据都遵循相同的模式: 每个数据都附有日期,此日期用于在图表上显示X Cordinate

每个数据都有一个所谓的队列(只是一个名称 )**

到目前为止我所做的是创建一个超类(抽象类)。我的想法是创建这个超类的单个子类,并允许它们拥有自己的实现和字段。

现在我的问题其中一些对象相对较小,例如我有一个对象只包含三个带有getter和setter的字段。最好的做法是分开和征服或尽可能少的对象?

拥有小对象的替代方案是一个更大的对象,简而言之就是说同一类型的对象,但是其中一半有一个字段,另一半不是IE为什么我想将它分成两个对象以避免一个50%的时间都是空的字段。

以下是我的对象的外观示例:

关于子类的示例

    class Callback : ContactQueue
{


public int completedCallbacks{get; set;}
    public int completed_within_timeframe{get; set;}
    public int answerPercentage { get; set; }
    public override String type {get; set;}
    public override DateTime period { get; set; }
    public Callback(String type,DateTime period)
    {
        this.type = type;
        this.period = period;
    }
    public override String toString()
    {
        return type;
    }
    public double percentageCompleted {
        get
        {
            return completed_within_timeframe / completedCallbacks * 100; // todo
        }
    }

}

我希望你能理解我的问题,如果没有请发表评论,我会尽快回复

1 个答案:

答案 0 :(得分:2)

这取决于你的系统。如果您想为您的字段设置存储空间,那么您可以拥有一个具有许多getter / setter的对象。

但我建议按行为拆分它们。您可能希望向对象添加方法,并且您希望拥有的行为会有所不同。在这一点上,如果你已经采用第一种方式,你将不得不在这些方法中进行大量检查以正确执行它。您需要将对象分开以便更容易扩展。