日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

interface-C#接口-统一的标准

發布時間:2023/12/10 C# 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 interface-C#接口-统一的标准 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 接口的定義
  • 接口的實現
    • 實例1
    • 實例2
  • 接口的繼承

  • 博主寫作不容易,孩子需要您鼓勵
  • 萬水千山總是情 , 先點個贊行不行

接口是面向對象編程的一個重要技術,在C#中負責實現多重繼承。一個接口定義一個協定,實現接口類或結構體必須遵守其協定。比如耳機接口,比如顯示器接口。

接口的定義

接口用來描述一種程序的規定,可以 屬于任何類或者結構體的一組相關行為。接口可由方法、屬性、事件、索引器或這4種成員類型任何組合構成。接口不能包含常數、字段、運算符、實例構造函數、析構函數或類型,也不能包含任何種類的靜態成員。接口成員一定是公共的。

  • 定義接口的語法格式如下:
  • <訪問修飾符> interface 接口名{//接口主體}

    接口不能包含其所定義的成員的任何實現語句,接口只指定實現該接口的類或必須提供的成員。

    接口的實現

    定義了接口后,就要在類或結構中實現。C#中通常把派生類和基類的關系稱為繼承,類和接口的關系稱為實現。實現接口的語法和繼承類一樣,都有“:”,接口中的方法在類中實現時不是重載,不需要使用override關鍵字。
    接口中不能定義構造函數,所以接口不能實例化。

    實例1

    聲明接口IPoint描述一個點的坐標并實現該接口。

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace test {class Program{static void Main(string[] args){Point p = new Point(5, 10);Console.WriteLine("創建的新點坐標為:");Console.WriteLine("X={0},Y={1}", p.x, p.y);Console.ReadKey();}}interface IPoint //定義Point接口類{ int x { get; set; }int y { get; set; }}public class Point : IPoint{private int px;private int py;public Point(int x,int y){px = x;py = y;}//接口屬性實現public int x{get { return px; }set { px = value; }}public int y{get { return py; }set { py = value; }}} }

    運行結果:

    對接口的名稱建議以I開頭,如IPoint,對接口的訪問修飾符可以選擇使用,但是接口的方法前面不能添加任何訪問修飾符,他是隱式公開的;接口不能包含構造函數,接口不能實現任何方法、屬性和索引器。

    實例2

    定義一個接口,接口包含方法,并使用一個類實現接口。

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace test {class Program{static void Main(string[] args){Person person1 = new Person("小明", 18, "男");//利用有參構造函數創建對象person1.DisPlay(); //調用DisPlay方法顯示信息person1.DoWork();person1.DoSport();Console.ReadKey();}}interface IPerson //定義Point接口類{void DoWork(); //聲明方法void DoSport();}public class Person:IPerson{private String _id; //身份證號碼字段idpublic string ID //身份證號碼屬性id{get { return this._id; }set { this._id = value; }}private String _name; //姓名字段public string Name //姓名屬性{get { return this._name; }set { this._name = value; }}private int _age; //年齡字段public int Age //年齡屬性{get { return this._age; }set { this._age = value; }}private String _gender; //性別字段public string Gender //性別屬性{get { return this._gender; }set { this._gender = value; }}public Person() //無參構造函數{ }public Person(string name, int age, string gender) //有參構造函數{this._name = name;this._age = age;this._gender = gender;}public void DoWork(){Console.WriteLine("{0}的任務是工作", this._name);}public void DoSport(){Console.WriteLine("{0}喜歡做運動", this._name);}public void DisPlay() //基類共用方法,顯示人的信息{Console.WriteLine("{0}是{1}性,年齡為{2}歲", this._name, this._gender, this._age);}} }

    運行結果:

    接口的繼承

    C#中的派生類只能有一個基類,不支持類的多重繼承,但可以繼承多個接口,通過接口實現多繼承。如在現實中兒子不但可以繼承父母的財產,如伯父我兒女,也可以繼承伯父的財產,在C#中這屬于多重繼承,要用接口來實現,其實接口就是為了實現多重繼承而產生的。在C#中接口可以多繼承,接口之間可以相互繼承,普通類和抽象類可以繼承自接口。一個類可以同時繼承一個類和多個接口,但是接口不能繼承類。

    ------------------------------------------------------------------------------------------分割線 ------------------------------------------------------------------------------------------
    • 博主簡介:
    • 工業自動化上位機軟件工程師、機器視覺算法工程師、運動控制算法工程師。目前從業于智能制造自動化行業。 博主郵箱:2296776525@qq.com
    • 幫忙點個贊吧。哈哈。

總結

以上是生活随笔為你收集整理的interface-C#接口-统一的标准的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。