房屋租赁系统,有一个计算费用的类,费用包括租赁费,水费,电费等。输入房间号,然后计算出此房间的这三项费用。类的设计是这样的。构造函数 public 计算费用(int 房间号)公共方法 public decimal 计算租赁费()
         public decimal 计算水费()
         public decimal 计算电费等()具体方法的时间需要去数据库中取数据,这个不细说 。可是现在呢 又想知道租赁费是从什么时间到什么时间的,水费呢,想知道单价,已经上次抄表的时间,上次吨数,本次抄表的时间、本次吨数,以及此期使用的度数,费用等等等等。简单的说就是 需要的数据很多,函数但函数只能返回一个数据。所以想到给此类设置很多公共属性。比如 public DateTime 租赁费开始时间
     public DateTime 租赁费结束时间
     public Decimal 抄表的时间
     public Decimal 上次吨数
     ...................但是这些属性必须运行各自的方法后才能获得,比如,要获得“租赁费开始时间”这个属性,要使用这个类的程序员 必须要先运行计“计算租赁费()”这个方法才行。这样的设计似乎不合理,那么应该怎么设计类呢?

解决方案 »

  1.   


    房屋租赁系统,有一个计算费用的类,费用包括租赁费,水费,电费等。输入房间号,然后计算出此房间的这三项费用。类的设计是这样的。构造函数 public 计算费用(int 房间号)公共方法 public decimal 计算租赁费()
      public decimal 计算水费()
      public decimal 计算电费()具体方法的实现需要去数据库中取数据,这个不细说 。可是现在呢 又想知道租赁费是从什么时间到什么时间的,水费呢,想知道单价,已经抄表的时间,上次吨数,本次抄表的时间、本次吨数,以及此期间使用的吨数以及费用等等等等。简单的说就是 需要的数据很多,但函数只能返回一个数据。所以想到给此类设置很多公共属性。比如 public DateTime 租赁费开始时间
      public DateTime 租赁费结束时间
      public Decimal 抄表的时间
      public Decimal 上次吨数
      ...................但是这些属性必须在运行各自的方法后才能获得,比如,要获得“租赁费开始时间”这个属性,使用这个类的程序员 必须要先运行计“计算租赁费()”这个方法才行。这样的设计似乎不合理,那么应该怎么设计类呢?