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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

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

發(fā)布時(shí)間:2023/12/10 C# 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 interface-C#接口-统一的标准 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 接口的定義
  • 接口的實(shí)現(xiàn)
    • 實(shí)例1
    • 實(shí)例2
  • 接口的繼承

  • 博主寫(xiě)作不容易,孩子需要您鼓勵(lì)
  • 萬(wàn)水千山總是情 , 先點(diǎn)個(gè)贊行不行

接口是面向?qū)ο缶幊痰囊粋€(gè)重要技術(shù),在C#中負(fù)責(zé)實(shí)現(xiàn)多重繼承。一個(gè)接口定義一個(gè)協(xié)定,實(shí)現(xiàn)接口類或結(jié)構(gòu)體必須遵守其協(xié)定。比如耳機(jī)接口,比如顯示器接口。

接口的定義

接口用來(lái)描述一種程序的規(guī)定,可以 屬于任何類或者結(jié)構(gòu)體的一組相關(guān)行為。接口可由方法、屬性、事件、索引器或這4種成員類型任何組合構(gòu)成。接口不能包含常數(shù)、字段、運(yùn)算符、實(shí)例構(gòu)造函數(shù)、析構(gòu)函數(shù)或類型,也不能包含任何種類的靜態(tài)成員。接口成員一定是公共的。

  • 定義接口的語(yǔ)法格式如下:
  • <訪問(wèn)修飾符> interface 接口名{//接口主體}

    接口不能包含其所定義的成員的任何實(shí)現(xiàn)語(yǔ)句,接口只指定實(shí)現(xiàn)該接口的類或必須提供的成員。

    接口的實(shí)現(xiàn)

    定義了接口后,就要在類或結(jié)構(gòu)中實(shí)現(xiàn)。C#中通常把派生類和基類的關(guān)系稱為繼承,類和接口的關(guān)系稱為實(shí)現(xiàn)。實(shí)現(xiàn)接口的語(yǔ)法和繼承類一樣,都有“:”,接口中的方法在類中實(shí)現(xiàn)時(shí)不是重載,不需要使用override關(guān)鍵字。
    接口中不能定義構(gòu)造函數(shù),所以接口不能實(shí)例化。

    實(shí)例1

    聲明接口IPoint描述一個(gè)點(diǎn)的坐標(biāo)并實(shí)現(xiàn)該接口。

    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("創(chuàng)建的新點(diǎn)坐標(biāo)為:");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;}//接口屬性實(shí)現(xiàn)public int x{get { return px; }set { px = value; }}public int y{get { return py; }set { py = value; }}} }

    運(yùn)行結(jié)果:

    對(duì)接口的名稱建議以I開(kāi)頭,如IPoint,對(duì)接口的訪問(wèn)修飾符可以選擇使用,但是接口的方法前面不能添加任何訪問(wèn)修飾符,他是隱式公開(kāi)的;接口不能包含構(gòu)造函數(shù),接口不能實(shí)現(xiàn)任何方法、屬性和索引器。

    實(shí)例2

    定義一個(gè)接口,接口包含方法,并使用一個(gè)類實(shí)現(xiàn)接口。

    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, "男");//利用有參構(gòu)造函數(shù)創(chuàng)建對(duì)象person1.DisPlay(); //調(diào)用DisPlay方法顯示信息person1.DoWork();person1.DoSport();Console.ReadKey();}}interface IPerson //定義Point接口類{void DoWork(); //聲明方法void DoSport();}public class Person:IPerson{private String _id; //身份證號(hào)碼字段idpublic string ID //身份證號(hào)碼屬性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() //無(wú)參構(gòu)造函數(shù){ }public Person(string name, int age, string gender) //有參構(gòu)造函數(shù){this._name = name;this._age = age;this._gender = gender;}public void DoWork(){Console.WriteLine("{0}的任務(wù)是工作", this._name);}public void DoSport(){Console.WriteLine("{0}喜歡做運(yùn)動(dòng)", this._name);}public void DisPlay() //基類共用方法,顯示人的信息{Console.WriteLine("{0}是{1}性,年齡為{2}歲", this._name, this._gender, this._age);}} }

    運(yùn)行結(jié)果:

    接口的繼承

    C#中的派生類只能有一個(gè)基類,不支持類的多重繼承,但可以繼承多個(gè)接口,通過(guò)接口實(shí)現(xiàn)多繼承。如在現(xiàn)實(shí)中兒子不但可以繼承父母的財(cái)產(chǎn),如伯父我兒女,也可以繼承伯父的財(cái)產(chǎn),在C#中這屬于多重繼承,要用接口來(lái)實(shí)現(xiàn),其實(shí)接口就是為了實(shí)現(xiàn)多重繼承而產(chǎn)生的。在C#中接口可以多繼承,接口之間可以相互繼承,普通類和抽象類可以繼承自接口。一個(gè)類可以同時(shí)繼承一個(gè)類和多個(gè)接口,但是接口不能繼承類。

    ------------------------------------------------------------------------------------------分割線 ------------------------------------------------------------------------------------------
    • 博主簡(jiǎn)介:
    • 工業(yè)自動(dòng)化上位機(jī)軟件工程師、機(jī)器視覺(jué)算法工程師、運(yùn)動(dòng)控制算法工程師。目前從業(yè)于智能制造自動(dòng)化行業(yè)。 博主郵箱:2296776525@qq.com
    • 幫忙點(diǎn)個(gè)贊吧。哈哈。

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。