none
“抽象类”的使用 RRS feed

  • 问题

  • 1、抽象类:

          public     abstract      class      TestDatasAll  

         {

                  public    string    Name   {get;set;}

                  public    string    Title    {get;set;}

                 public    string    No    {get;set;}

                  public    abstract    double[]     HourDatas
                   { 
                         get;
                   } 

       

                  public    abstract    double[]     DayDatas
                   { 
                         get;
                   } 

                   

                   public    abstract    double[]    YearDatas
                   { 
                         get;
                   }          

         }

    2、子类“TestHourDatas、TestDayDatas 、TestYearDatas”继承自“TestDatasAll

         但是,想“TestHourDatas”只实现“HourDatas”方法,TestDayDatas”只实现“DayDatas ”方法,TestYearDatas”只实现“YearDatas ”方法,应该怎么办?        

        

          问题:这里使用“抽象类”好像是不行的,应该如何处理???      “TestDatasAll”的“Name”、“Title”、“No”等其它属性,是需要子类继承的。但是HourDatas、DayDatas 、YearDatas” 根据需要继承。        

          使用的时候:TestDatasAll   testdatas  = new  TestHourDatas();

                              TestDatasAll   testdatas  = new  TestDayDatas();

                              TestDatasAll   testdatas  = new  TestYearDatas();

                             抽象类好像实现不了这样的功能,应该怎样做???     用“interface”可以吗?


    Science and technology is my lover.

    2012年9月20日 1:38

答案

  • public abstract class TestData
    {
        public string Name { get; set; }
        public string Title { get; set; }
        public string No { get; set; }
        public abstract double[] Data { get; } 
    }

    HourData,DayData和YearData可以合并,统一为Data

    2012年9月20日 8:20

全部回复