2012-12-25 63 views
0
public class abstract animal 
{ 
    // many fields 
    public string Name {get;set;} 
    public int id {get; set;} 
    // method, return self 
    public abstract animal getAnimalByID(int _id) 
    { 
     // databse connection 
     //get data from database and return an animal type 

     return animal; <-- cannot work, "return this" can work 
    } 

} 



public class dog : animal 
{ 
    public override dog getAnimalByID(int _id) 
    { 
      return (dog)base.getAnimalByID(_id); 
    } 
} 

我有一個抽象基類並從數據庫中獲取數據。狗比動物有更多的領域和功能,我想從數據庫中返回狗數據類型。繼承後不能返回新的類類型

問題1:

回報(狗)base.getAnimalByID(_id);回訪問的基類錯誤

問題2:

(狗)返回錯誤太

+0

'abstract'和'base'是沒有上下文的兩個無意義標籤。用您正在使用的**語言**標記您的問題。 –

+0

我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –

回答

0

第一類的方法不能被聲明爲抽象,如果我想在第二類中使用基地

其餘的工作正常後,我拿走了摘要

+0

這是對您的問題或答案的額外解釋嗎?如果是前者,請**編輯**您的問題。 –

+0

這是我找到的一條魚,但我不確定它是否是最好的答案。 –