C# 接口不能完善的事


最近一直在想着一個問題,關於接口的問題,

先上代碼吧,看完代碼再看我想要問的問題吧,在求高手解釋

 

 
  1. public interface IAnimal  
  2.     {  
  3.         /// <summary>  
  4.         /// 叫  
  5.         /// </summary>  
  6.         void Yell();  
  7.     }  
  8.   
  9.     public class Cat:IAnimal  
  10.     {  
  11.   
  12.         public void Yell()  
  13.         {  
  14.             System.Diagnostics.Debug.WriteLine("喵");  
  15.         }  
  16.   
  17.         public void Climb()  
  18.         {  
  19.             System.Diagnostics.Debug.WriteLine("我會爬樹哦");  
  20.         }  
  21.     }  
  22.   
  23.     public class Dog : IAnimal  
  24.     {  
  25.   
  26.         public void Yell()  
  27.         {  
  28.             System.Diagnostics.Debug.WriteLine("汪");  
  29.         }  
  30.   
  31.     }  
  32.   
  33.     public class Test  
  34.     {  
  35.         public void DoSomething()  
  36.         {  
  37.             IAnimal cat = new Cat();  
  38.             cat.Yell();  
  39.             //cat.Climb(); //有時候,一個類里的一個方法,是它獨有的,但希望在這里能用上,但接口上沒這個方法  
  40.         }  
  41.     }  

 

有一個IAnimal的接口,它只有一個方法,就是Yell();

貓與狗都實現了這個接口,但貓還會爬樹

然后,在使用的時候,也就是Test這個類中,一定要做Yell這個動作。

后來,我發現這個Test類中,需要用到貓的Climb這個動作,這時候,如何是好?

不能在IAnimal接口上加方法,因為它不是這個接口的一個標准,但也有一些實現的類要做這個動作。

那如何是好呢?

求解,求賜教


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM