中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

多用戶智能網(wǎng)站建設(shè)源碼洛陽(yáng)網(wǎng)站seo

多用戶智能網(wǎng)站建設(shè)源碼,洛陽(yáng)網(wǎng)站seo,貴陽(yáng)市住房城鄉(xiāng)建設(shè)局官方網(wǎng)站,公司網(wǎng)站建網(wǎng)接口,多態(tài)性,密封類 C# 接口 遙控器是觀眾和電視之間的接口。 它是此電子設(shè)備的接口。 外交禮儀指導(dǎo)外交領(lǐng)域的所有活動(dòng)。 道路規(guī)則是駕車者,騎自行車者和行人必須遵守的規(guī)則。 編程中的接口類似于前面的示例。 接口是: APIsC…

接口,多態(tài)性,密封類

C# 接口

遙控器是觀眾和電視之間的接口。 它是此電子設(shè)備的接口。 外交禮儀指導(dǎo)外交領(lǐng)域的所有活動(dòng)。 道路規(guī)則是駕車者,騎自行車者和行人必須遵守的規(guī)則。 編程中的接口類似于前面的示例。

接口是:

  • APIs
  • Contracts

對(duì)象通過(guò)其公開(kāi)的方法與外界交互。 實(shí)際的實(shí)現(xiàn)對(duì)程序員而言并不重要,或者也可能是秘密的。 公司可能會(huì)出售圖書館,但它不想透露實(shí)際的實(shí)施情況。 程序員可能會(huì)在 GUI 工具箱的窗口上調(diào)用Maximize()方法,但對(duì)如何實(shí)現(xiàn)此方法一無(wú)所知。 從這個(gè)角度來(lái)看,接口是對(duì)象與外界交互的方式,而又不會(huì)過(guò)多地暴露其內(nèi)部功能。

從第二個(gè)角度來(lái)看,接口就是契約。 如果達(dá)成協(xié)議,則必須遵循。 它們用于設(shè)計(jì)應(yīng)用的體系結(jié)構(gòu)。 他們幫助組織代碼。

接口是完全抽象的類型。 它們使用interface關(guān)鍵字聲明。 接口只能具有方法,屬性,事件或索引器的簽名。 所有接口成員都隱式具有公共訪問(wèn)權(quán)限。 接口成員不能指定訪問(wèn)修飾符。 接口不能具有完全實(shí)現(xiàn)的方法,也不能具有成員字段。 C# 類可以實(shí)現(xiàn)任何數(shù)量的接口。 一個(gè)接口還可以擴(kuò)展任何數(shù)量的接口。 實(shí)現(xiàn)接口的類必須實(shí)現(xiàn)接口的所有方法簽名。

接口用于模擬多重繼承。 C# 類只能從一個(gè)類繼承,但可以實(shí)現(xiàn)多個(gè)接口。 使用接口的多重繼承與繼承方法和變量無(wú)關(guān)。 它是關(guān)于繼承想法或合同的,這些想法或合同由接口描述。

接口和抽象類之間有一個(gè)重要的區(qū)別。 抽象類為繼承層次結(jié)構(gòu)中相關(guān)的類提供部分實(shí)現(xiàn)。 另一方面,可以通過(guò)彼此不相關(guān)的類來(lái)實(shí)現(xiàn)接口。 例如,我們有兩個(gè)按鈕。 經(jīng)典按鈕和圓形按鈕。 兩者都繼承自抽象按鈕類,該類為所有按鈕提供了一些通用功能。 實(shí)現(xiàn)類是相關(guān)的,因?yàn)樗鼈兌际前粹o。 另一個(gè)示例可能具有類DatabaseSignIn。 它們彼此無(wú)關(guān)。 我們可以應(yīng)用ILoggable接口,該接口將迫使他們創(chuàng)建執(zhí)行日志記錄的方法。

C# 簡(jiǎn)單接口

以下程序使用一個(gè)簡(jiǎn)單的接口。

Program.
using System;namespace SimpleInterface
{interface IInfo{void DoInform();}class Some : IInfo{public void DoInform(){Console.WriteLine("This is Some Class");}}class Program{static void Main(string[] args){var some = new Some();some.DoInform();}}
}

這是一個(gè)演示接口的簡(jiǎn)單 C# 程序。

interface IInfo
{void DoInform();   
}

這是接口IInfo。 它具有DoInform()方法簽名。

class Some : IInfo

我們實(shí)現(xiàn)了IInfo接口。 為了實(shí)現(xiàn)特定的接口,我們使用冒號(hào)(:)運(yùn)算符。

public void DoInform()
{Console.WriteLine("This is Some Class");
}

該類提供了DoInform()方法的實(shí)現(xiàn)。

C# 多個(gè)接口

下一個(gè)示例顯示了一個(gè)類如何實(shí)現(xiàn)多個(gè)接口。

Program.
using System;namespace MultipleInterfaces
{interface Device{void SwitchOn();void SwitchOff();}interface Volume{void VolumeUp();void VolumeDown();}interface Pluggable{void PlugIn();void PlugOff();}class CellPhone : Device, Volume, Pluggable{public void SwitchOn(){Console.WriteLine("Switching on");}public void SwitchOff(){Console.WriteLine("Switching on");}public void VolumeUp(){Console.WriteLine("Volume up");}public void VolumeDown(){Console.WriteLine("Volume down");}public void PlugIn(){Console.WriteLine("Plugging In");}public void PlugOff(){Console.WriteLine("Plugging Off");}}class Program{static void Main(string[] args){var cellPhone = new CellPhone();cellPhone.SwitchOn();cellPhone.VolumeUp();cellPhone.PlugIn();}}
}

我們有一個(gè)CellPhone類,它從三個(gè)接口繼承。

class CellPhone : Device, Volume, Pluggable

該類實(shí)現(xiàn)所有三個(gè)接口,并用逗號(hào)分隔。?CellPhone類必須實(shí)現(xiàn)來(lái)自所有三個(gè)接口的所有方法簽名。

$ dotnet run
Switching on
Volume up
Plugging In

運(yùn)行程序,我們得到此輸出。

C# 多接口繼承

下一個(gè)示例顯示接口如何從多個(gè)其他接口繼承。

Program.
using System;namespace InterfaceInheritance
{interface IInfo{void DoInform();}interface IVersion{void GetVersion();}interface ILog : IInfo, IVersion{void DoLog();}class DBConnect : ILog{public void DoInform(){Console.WriteLine("This is DBConnect class");}public void GetVersion(){Console.WriteLine("Version 1.02");}public void DoLog(){Console.WriteLine("Logging");}public void Connect(){Console.WriteLine("Connecting to the database");}}class Program{static void Main(string[] args){var db = new DBConnect();db.DoInform();db.GetVersion();db.DoLog();db.Connect();}}
}

我們定義了三個(gè)接口。 我們可以按層次結(jié)構(gòu)組織接口。

interface ILog : IInfo, IVersion

ILog接口繼承自其他兩個(gè)接口。

public void DoInform() 
{Console.WriteLine("This is DBConnect class");
}

DBConnect類實(shí)現(xiàn)DoInform()方法。 該方法由該類實(shí)現(xiàn)的ILog接口繼承。

$ dotnet run
This is DBConnect class
Version 1.02
Logging
Connecting to the database

這是輸出。

C# 多態(tài)性

多態(tài)是以不同方式將運(yùn)算符或函數(shù)用于不同數(shù)據(jù)輸入的過(guò)程。 實(shí)際上,多態(tài)性意味著如果類 B 從類 A 繼承,那么它不必繼承關(guān)于類 A 的所有內(nèi)容。 它可以完成 A 類所做的某些事情。

通常,多態(tài)性是以不同形式出現(xiàn)的能力。 從技術(shù)上講,它是重新定義派生類的方法的能力。 多態(tài)性與將特定實(shí)現(xiàn)應(yīng)用于接口或更通用的基類有關(guān)。

多態(tài)性是重新定義派生類的方法的能力。

Program.
using System;namespace Polymorphism
{abstract class Shape{protected int x;protected int y;public abstract int Area();}class Rectangle : Shape{public Rectangle(int x, int y){this.x = x;this.y = y;}public override int Area(){return this.x * this.y;}}class Square : Shape{public Square(int x){this.x = x;}public override int Area(){return this.x * this.x;}}class Program{static void Main(string[] args){Shape[] shapes = { new Square(5), new Rectangle(9, 4), new Square(12) };foreach (Shape shape in shapes){Console.WriteLine(shape.Area());}}}
}

在上面的程序中,我們有一個(gè)抽象的Shape類。 此類演變?yōu)閮蓚€(gè)后代類別:RectangleSquare。 兩者都提供了自己的Area()方法實(shí)現(xiàn)。 多態(tài)為 OOP 系統(tǒng)帶來(lái)了靈活性和可伸縮性。

public override int Area()
{return this.x * this.y;
}
...
public override int Area()
{return this.x * this.x;
}

RectangleSquare類具有Area()方法的自己的實(shí)現(xiàn)。

Shape[] shapes = { new Square(5), new Rectangle(9, 4), new Square(12) };

我們創(chuàng)建三個(gè)形狀的數(shù)組。

foreach (Shape shape in shapes)
{Console.WriteLine(shape.Area());
}

我們遍歷每個(gè)形狀,并在其上調(diào)用Area()方法。 編譯器為每種形狀調(diào)用正確的方法。 這就是多態(tài)性的本質(zhì)。

C# 密封類

sealed關(guān)鍵字用于防止意外地從類派生。 密封類不能是抽象類。

Program.
using System;namespace DerivedMath
{sealed class Math{public static double GetPI(){return 3.141592;}}class Derived : Math{public void Say(){Console.WriteLine("Derived class");}}class Program{static void Main(string[] args){var dm = new Derived();dm.Say();}}
}

在上面的程序中,我們有一個(gè)Math基類。 該類的唯一目的是為程序員提供一些有用的方法和常量。 (出于簡(jiǎn)單起見(jiàn),在我們的案例中,我們只有一種方法。)它不是從繼承而創(chuàng)建的。 為了防止不知情的其他程序員從此類中派生,創(chuàng)建者創(chuàng)建了sealed類。 如果嘗試編譯該程序,則會(huì)出現(xiàn)以下錯(cuò)誤:’Derived’不能從密封類’Math’派生。

http://www.risenshineclean.com/news/35494.html

相關(guān)文章:

  • 聊城開(kāi)發(fā)區(qū)建設(shè)局網(wǎng)站湖南專業(yè)關(guān)鍵詞優(yōu)化服務(wù)水平
  • 公務(wù)員 做網(wǎng)站 違法網(wǎng)站制作網(wǎng)站推廣
  • 手機(jī)網(wǎng)站改版公司百度關(guān)鍵詞熱度查詢工具
  • 做電影網(wǎng)站模板教學(xué)網(wǎng)站制作設(shè)計(jì)
  • 專做醫(yī)藥中間體的網(wǎng)站今天微博熱搜前十名
  • 幫一個(gè)企業(yè)做網(wǎng)站流程seo線上培訓(xùn)班
  • 效果圖在線制作重慶seo俱樂(lè)部
  • Iis 建網(wǎng)站為什么說(shuō)沒(méi)有該用戶seo推廣顧問(wèn)
  • 做電玩城設(shè)計(jì)的網(wǎng)站關(guān)鍵詞優(yōu)化公司
  • 如何搭建一個(gè)視頻網(wǎng)站互聯(lián)網(wǎng)營(yíng)銷專業(yè)
  • 如何在公司網(wǎng)站上添加內(nèi)容微信朋友圈產(chǎn)品推廣語(yǔ)
  • 服裝網(wǎng)站建設(shè)與實(shí)現(xiàn)西安seo顧問(wèn)公司
  • 電商網(wǎng)站開(kāi)發(fā)平臺(tái)實(shí)驗(yàn)河南搜索引擎優(yōu)化
  • 百度優(yōu)化網(wǎng)站建設(shè)網(wǎng)站制作多少錢
  • 村網(wǎng)站建設(shè)計(jì)劃書深圳專業(yè)建站公司
  • 網(wǎng)站開(kāi)發(fā)需要幾個(gè)人企業(yè)網(wǎng)址怎么注冊(cè)
  • 河北建設(shè)廳注冊(cè)中心網(wǎng)站長(zhǎng)沙做優(yōu)化的公司
  • 做網(wǎng)站順序搜索引擎優(yōu)化排名seo
  • 南京網(wǎng)站的優(yōu)化石景山區(qū)百科seo
  • wordpress七牛加密怎樣優(yōu)化網(wǎng)站排名靠前
  • 電子商務(wù)網(wǎng)站建設(shè)的核心是長(zhǎng)沙做網(wǎng)絡(luò)推廣公司的
  • 自建網(wǎng)站如何上傳視頻市場(chǎng)營(yíng)銷策劃書
  • wordpress php學(xué)習(xí)廣州網(wǎng)站快速排名優(yōu)化
  • 網(wǎng)站建設(shè)策劃書競(jìng)價(jià)網(wǎng)絡(luò)推廣
  • 網(wǎng)站用途說(shuō)明全國(guó)疫情實(shí)時(shí)動(dòng)態(tài)
  • 汕頭網(wǎng)站建設(shè)系統(tǒng)學(xué)校網(wǎng)站建設(shè)
  • 做房產(chǎn)抵押網(wǎng)站需要什么手續(xù)互動(dòng)營(yíng)銷經(jīng)典案例
  • 靜態(tài)網(wǎng)站畢業(yè)論文東莞排名優(yōu)化團(tuán)隊(duì)
  • 門戶營(yíng)銷型網(wǎng)站搭建北京建設(shè)網(wǎng)站公司
  • 安徽品質(zhì)網(wǎng)站建設(shè)創(chuàng)新邀請(qǐng)注冊(cè)推廣賺錢的app