国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

聊一聊C#接口問題 新手速來圍觀

2019-10-29 21:23:10
字體:
來源:轉載
供稿:網友

這段時間的項目有用到接口,開始不是特別理解接口,只是單單知道接口定義非常簡單,甚至覺得這個接口只是多此一舉(個人開發的時候)。現在開始團隊開發,才發現接口原來是這么的重要和便捷! 

接下來就來談談我這段時間對接口使用的粗淺見解,說的對希望大家贊,說的有誤的地方希望大家多多包涵建議! 

READY GO! 

接口的定義就不多說了,它有一個很重要的知識點,就是所有繼承這個接口類的都必須實現接口中的定義,說到這個必須,在團隊開發中,只要我們商定好了接口,那我們的代碼是不是就統一了!!! 

這是我覺得接口重要的第一點:它便于我們統一項目的規定,便于團隊代碼的管理!

再來用一個例子說明: 

A公司決定開發一套動物系統,其中包含很多的動物,公司決定要實現每個動物的喊叫行為……
說到這里,我們一般就是各個程序員拿到自己要實現的動物類之后就開始大刀闊斧的開干了!??!
X程序員實現狗這個類,他寫一個叫喊方法void Han(){……}
Y程序員實現貓這個類,他寫一個叫喊方法void Shout(){……}
M程序員實現豬這個類,他寫一個叫喊方法 void Shout(string content){……} 
……………… 

好了,現在都完成了各自需要完成的動物,隔壁老王開始來實現百獸齊鳴!?。。?amp;¥%¥*%¥¥%¥一頓粗口爆出!這要怎么寫?一個個去調用??? 

來看看,X程序員英語不太好,也沒有過多的去管,只是寫出動物叫喊的方法,Y程序員和M程序員寫的叫喊方法名稱是一樣,但M程序員中還要傳遞動物叫喊的內容!?。。?! 

隔壁老王現在要讓所有動物都叫一遍就得一個動物一個動物的去調用方法…… 

OK,接下來開會商量,隔壁老王定義一個動物接口,所有的動物類都得繼承這個接口,這個接口只定義一個void Shout();  (就不過多的寫東西啦,偷偷懶) 

X,Y,M程序員繼承后,X,M立馬就發現有問題,然后開始改了自己手中的類 

這時老王就開始來百獸齊鳴啦!哈哈哈哈哈 

接下來貼出代碼大家看 

接口 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject{  /// <summary>  /// 動物接口  /// </summary>  interface IAnimal  {    /// <summary>    /// 動物叫喊    /// </summary>    void Shout();  }}

狗 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject{  /// <summary>  /// 狗  /// </summary>  public class Dog:IAnimal  {    public void Shout()    {      Console.WriteLine("汪汪汪");    }  }}

貓 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject{  /// <summary>  /// 貓  /// </summary>  public class Cat:IAnimal  {    public void Shout()    {      Console.WriteLine("喵喵喵");    }  }}

豬 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject{  /// <summary>  /// 豬  /// </summary>  public class Pig:IAnimal  {    public void Shout()    {      Console.WriteLine("豬怎么叫來著??豬叫");    }  }}

隔壁老王來實現百獸齊鳴(打倒老王這種人物的存在) 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject{  class Program  {    static void Main(string[] args)    {      //百獸齊鳴(這里可以使用反射來初始化所有繼承IAnimal的所有動物,我就不寫這個了,主要看接口)      List<IAnimal> animals = new List<IAnimal>();      IAnimal dog = new Dog();      animals.Add(dog);      IAnimal cat = new Cat();      animals.Add(cat);      IAnimal pig = new Pig();      animals.Add(pig);      //所有動物都叫一遍      for (int i = 0; i < animals.Count; i++)      {        animals[i].Shout();      }          }  }}

我對這個接口的粗略見解就說完啦!接口這個東西雖然用起來很簡單,但我們還是要理解這個接口的作用,希望我的這篇文章能夠讓更多像我一樣的新手向接口這個東西邁出第一步。

 


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌江| 雷州市| 民勤县| 绥德县| 双辽市| 右玉县| 阜阳市| 洞头县| 郎溪县| 黄陵县| 庆云县| 牟定县| 迭部县| 陇南市| 镇宁| 保德县| 临汾市| 双流县| 德江县| 同德县| 保康县| 清河县| 离岛区| 连州市| 昌乐县| 称多县| 视频| 芦溪县| 始兴县| 纳雍县| 长白| 琼中| 类乌齐县| 沧州市| 通化市| 张掖市| 金湖县| 乐山市| 徐州市| 县级市| 二连浩特市|