C 學習第十三天 實現多型 介面 MD5加密

2021-07-02 06:14:25 字數 2196 閱讀 9419

一、介面 (實現多型的第三種方法,前面兩種是:1. 虛方法;2抽象類)當類需要多繼承的時候,使用介面代替多繼承

介面就是一種規範或一種能力  ----繼承了這種介面後擁有這種規範或這種能力

1、語法:

[public]  inte***ce 介面名     ------介面名命名規則: i.....able   表示接受某種能力 

void fly();        //介面中不能包含字段

string test();  // 介面成員不允許定義(沒有方法體) 

2、介面特徵:

1、介面中不能包含欄位和建構函式

2、介面成員不允許定義(沒有方法體) 

3、介面中的成員不能加訪問修飾符,預設是public;  類中的成員預設是private

4、介面可以有:方法、自動屬性(沒有方法體)、索引器、事件,這三個本質上也就是方法,所以可以說介面只有方法

5、介面的子類必須實現所繼承介面的所有成員,否則報錯

6、為了多型,介面不能被例項化!也就是說介面不能new(建立物件)

7、介面之間可以繼承,並且可以多繼承(類不允許)

8、子類同時繼承父類和介面的時候,父類必須在介面之前

介面是c#最重要的乙個多型

物件導向程式設計,大多說的就是面向介面程式設計!

介面在實現多型過程中,類似於父類的用法

3、顯示實現介面

顯示實現介面是了解決方法的重名問題

三種多型實現方式已經學習完畢,回顧比較一下:

什麼時候用虛方法

什麼時候用抽象類

什麼時候用介面

能找到父類,但是需要實現多型的方法不能確定怎麼寫 ----用抽象類

能找到父類,需要實現多型的方法可以寫   -----用虛方法

不能找到共同父類,或擁有某種相同能力     ----用介面

二、超市收銀系統之商品類

2、在分別寫子類,和子類初始化構造方法

3、倉庫類

1)儲存貨物:所有貨物集合list

list> list = new list>;  

list代表貨架 ,所有貨物用貨架集合組成,貨架又由貨物組成

2)提貨  :

3)進貨 :

4、超市類 :

三、md5加密

1、定義個專門取得md5的方法

public static string ge***5(string str)

引數是要加密的字串,返回值是加密好的字串

2、開始實現此方法的方法體

md5是抽象類,不能建立物件,但是有乙個create方法模擬例項化

md5 md5 = md5.create();
3、需要把引數轉成位元組陣列,才能作為引數給物件md5使用

byte buffer = encoding.default.getbytes(str);
4、使用物件md5的方法,完成轉換

byte md5buffer = md5.computehash(buffer);
將需要加密的字串的位元組陣列,代入轉換,返回加密後的位元組陣列

5、將加密後的位元組陣列轉回字串

將位元組陣列轉換成字串有三種方法:位元組陣列 ---- 字串

1)、解碼(按編碼同樣的格式):將位元組陣列中的每個元素按照指定的編碼格式解析成字串

string  str =  encoding.default.getstring(buffer);

編碼格式基本包括:default、 utf8、 getencoding("gbk")

2)、直接將陣列tostring()----結果是命名空間

3)、將位元組陣列中的每乙個元素tostring()

第一種和第二種都不行,選用第三種

string result = "";

for(int i = 0;i

裡面的引數是輸出格式的型別

x ---->   輸出16進製制的字串

c----->  輸出帶錢符號的字串

x2 ---->補齊0位的 16進製制字串 (作用:對齊位數)

學習Python 第十三天

二叉樹 一,名詞 根邊 樹葉 葉子 沒有兒子 兄弟 具有相同父親的節點 祖父和孫子 路徑路徑的長 深度 從根到該點 高 從該點到葉子 祖先 後裔 真祖先 真後裔 二,樹的實現 class treenode def init self,data,firstchild,nextsibling self....

Java學習第十三天

13.01 常見物件 stringbuffer類的概述 b stringbuffer和string的區別 13.02 常見物件 stringbuffer類的構造方法 b stringbuffer的方法 c 案例演示 13.03 常見物件 stringbuffer的新增功能 public string...

Linux 第十三天學習

一 服務程式apache ilnux系統的配置檔案 服務目錄 etc httpd 主配置檔案 etc httpd conf httpd.conf 資料目錄 var www html 訪問日誌 var log httpd access log 錯誤日誌 var log httpd error log ...