1. 程式人生 > >C#學習筆記(8)-介面

C#學習筆記(8)-介面

作用

繼承具有單根性,也就是一個子類只能有一個父類。若這個子類向呼叫另一個子類中的方法,可以考慮使用介面。

關鍵字

  • 語法
    [public ] interface I…able
    {
    成員;
    }

-介面就是一個規範,一種能力
-介面中的成員不允許新增訪問修飾符,預設就是public
-介面成員不能有方法體
-介面不能包含欄位
-介面能包含自動屬性
-索引器
-介面中只能包含方法

程式碼示例:

public class Person
    {
        public void CHLSS()
        {
            Console.WriteLine("我是人類,我可以吃喝拉撒睡"
); } } public class NBAPlayer : Person { public void KouLan() { Console.WriteLine("我可以扣籃"); } } public class Student:Person,KouLanable { public void KouLan() { Console.WritLine("我也可以扣籃"); } } public
interface KouLanable { void KouLan(); string Name()//自動屬性 { get; set; } }

介面的特點

-介面不能被例項化 //抽象類不可以例項化,靜態類不可以例項化
-介面可以相互繼承介面,繼承的介面包含父介面的所有方法。實現介面的子類,必須實現介面的全部成員
-一個類可以同時繼承一個類並實現多個介面,如果一個子類同時繼承了父類A,並繼承了介面IA,那麼語法上A必須寫在IA的前面

顯示實現介面

為了避免類的方法與類中的方法重名的問題

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _14顯示實現介面
{
    class Program
    {
        static void Main(string[] args)
        {
            IFlyable fly = new Bird();
            fly.Fly();//呼叫介面的飛
            Bird b = new Bird();
            b.Fly();//呼叫類的飛
            Console.ReadKey();
        }
    }

    public class Bird:IFlyable
    {
        public void Fly()
        {
            Console.WriteLine("鳥會廢");
        }

        void IFlyable.Fly()//顯示呼叫介面的方法
        {
            Console.WriteLine("我是介面的廢");
        }
    }

    public interface IFlyable
    {
        void Fly();
    }
}

相關推薦

C#學習筆記8-介面

作用 繼承具有單根性,也就是一個子類只能有一個父類。若這個子類向呼叫另一個子類中的方法,可以考慮使用介面。 關鍵字 語法 [public ] interface I…able { 成員; } -介面就是一個規範,一種能力 -介面中的成員

c語言學習筆記8位運算子,++,--運算子的用法

摘要:總結了位運算子,++,--運算子的用法,給出了一個使用異或方法巧解面試題的例子,分析了貪心法的規則。 一、位運算子用法     c語言中的位運算子主要有以下幾種:         使用的時候主

Swift學習筆記8:枚舉

check oss 函數 not 條形碼 blog 出現 現在 pan 目錄: 基本語法 關聯值 原始值 枚舉為一組相關的值定義了一個共同的類型。 ?可以給枚舉成員指定原始值類型:字符串,字符,整型值或浮點數等 ?枚舉成員可以指定任意類型的關聯值存儲

struts2學習筆記8-------struts2的ajax支持

net fcm utf-8 asc uri () nal extends keyword struts2支持一種stream類型的Result,這樣的類型的Result能夠直接向client瀏覽器響應二進制,文本等。 我們能夠再

C#學習筆記7——委托

() namespace test task cnblogs [] string 命名空間 program 說明(2017-5-29 22:22:50): 1. 語法:public delegate void mydel();這一句在類外面,命名空間裏面。 2. 專門新建一

C#學習筆記12——三種方法操作XML

結點 記得 ext 應用程序 eval 資源 特性 pla cells 說明(2017-7-11 16:56:13): 原文地址: C#中常用的幾種讀取XML文件的方法 XML文件是一種常用的文件格式,例如WinForm裏面的app.config以及Web程序中的web.c

Linux學習筆記8

8一、文件或目錄權限chmodrw- r-- r-- 。——— ——— ——— ——所有者 所屬組 其他人 受selinux限制r可讀=4 w可寫=2 x可執行=1chmod

c++學習筆記- lambda表達式 叠代器 算法

tex 參數 p s 刷題 algo 叠代器 裏的 blog 而且 關於lambda表達式: 刷題的時候遇到一句代碼不懂: char ch = *it;auto it2 = find_if(it, b.end(), [ch](char x){ return x != ch

Linux第二周學習筆記8

意思 val 權限 zhong sof int conda 關系 rgb Linux第二周學習筆記(8)2.14 文件或目錄權限chmod (1). 權限表示[root@daizhihong01 ~]# ls -l總用量 12-rw-------. 1 root root

匯編語言學習筆記8——數據處理的基本問題

byte 緩沖器 表達 基本 操作 進行 能夠 ng- 尺寸 1、僅僅有“bx、si、di、 bp”四個寄存器能夠用在[…]中來進行內存單元的尋址 2、這四個寄存

C++學習筆記——一個字符串分割和統計的工具TextUtils

發生 插入 exit 大小 按行讀取 位置 n) fstream ostream 第一講先從一個實例開始——我們需要完成一個遍歷文件並統計單詞出現次數的任務。分解功能:首先,按行讀取文件並舍棄可能的空行。其次,將每一行都按照空格劃分單詞。因為可能存在標點符號,我們還需要將標

C++學習筆記——交換函數swap

pos 變量 col 值傳遞 一段 turn 如何選擇 ret 原因 這次我們要透過一個簡單的函數swap深入理解函數傳參的本質以及在C++中如何選擇傳參方式。 先來看第一段程序: void swap(int x, int y) { int temp = y;

Ojective-C學習筆記1

png 蘋果電腦 copyright 準備 開發 代碼 com 版本號 img 工欲善其事必先利其器,想要學習iOS開發,必須要有一些必要的設備才行。 準備工作: 一臺蘋果電腦,系統版本號10.13.4。安裝Xcode軟件,版本號9.3。以及一部蘋果手機。一切都準備好了,開

ojective-C學習筆記5關於面向對象編程

reat com new 面向對象 cti 重要 dispatch circle 術語 先了解幾個OC中有關面向對象編程的術語 類(class)是一種表示對象類型的結構體。這裏所說的結構體和C語言中的結構體不是一回事。 對象(object)是一種包含值和指向其類的隱藏指針的

Rx 學習筆記8錯誤處理和 To 操作符

con 錯誤處理 操作 operator 處理 opera erro per tor Error Handling Operators Catch Retry Operators to Convert Observables ToRx 學習筆記(8)錯誤處理和 To 操作符

SRM32學習筆記8——ADC和DAC

補充 一次 說明 否則 onf 允許 包括 特性 而不是 1、ADC簡介 STM32 擁有 1~3 個 ADC(STM32F101/102 系列只有 1 個 ADC)STM32F103至少擁有2個ADC,STM32F103ZE包含3個ADC,這些 ADC

C++ 學習筆記 const的加強

right 變量 pla 實例 編譯器 display 簡介 c語言 style const 含義為只讀。如果在程序中顯式改變const變量那麽編譯會報錯。 C語言的const: 在C語言中const 變量是放在內存中,如果使用指針可以簡介改變const變量。所以在C語

C++ 學習筆記 繼承- 子類與父類有同名函數,變量

pan end main函數 類繼承 class 分享圖片 共享 code 訪問   學習了類的繼承,今天說一下當父類與子類中有同名函數和變量時那麽程序將怎麽執行。首先明確當基類和子類有同名函數或者變量時,子類依然從父類繼承。   舉例說明:         例

ActiveMQ學習筆記8----ActiveMQ的訊息儲存持久化

1. 概述   ActiveMQ不僅支援persistent和non-persistent兩種方式,還支援訊息的恢復(recovery)方式。 2. PTP   Queue的儲存是很簡單的,其實就是FIFO的Queue      2. PUB/SUB   對於持久化訂閱主題,每一個消費者都將獲得一

Python自動化學習筆記——介面測試基礎

1.1 介面基礎知識  1.1.1    Get&post請求 GET和POST請求:       GET提交的資料會放在URL之後,以?分割URL和傳輸資料,引數之間以&相連,如EditPosts.aspx?name