c 筆記(十一) 介面泛型

2022-09-08 05:42:17 字數 2388 閱讀 6435

1. 介面:

定義ibattle介面、宣告攻擊attack(),移動move(), 跳躍jump()等方法;

定義irest介面、宣告sitdown(),sleep()等方法;

定義soldier(戰士)、master(法師)、assassin(刺客)、archer(弓箭手)等類,繼承上述介面,並實現內部方法。

2. 定義mylist類,該類模擬乙個動態陣列,可以用來存放資料(以int型別為例)。實現如下功能:

1)定義屬性count,表示當前動態陣列存放的int型元素個數;

2)定義方法clear(),可以清空所有的元素;

3)定義方法add(),可以實現新增元素的功能;

4)定義方法insert(int value, int index),可以實現在某個位置插入元素的功能;

5)定義方法reverse(),可以實現元素的反轉。

6)定義方法contains(),可以查詢元素是否存在。 

3. 老闆招募小秘

(1)當秘書必須要實現的協議用介面iscretary表示。

要想當秘書,必須能夠實現如下方法:

端茶倒水

開車捶背

提包等(2)有兩類人前來應聘秘書:

男人類 man

女人類 woman

機器人類 robot

請讓以上三個類繼承秘書協議,並根據每個類的特點實現協議中的方法

(3)在main方法中分別建立男秘物件和女秘物件,並自行設計模擬情景。

如:有一天老闆招了乙個男秘,讓他幹這幹那,後來不滿意,又招了乙個女秘...

再後來科技突飛猛進,老闆僱傭了乙個不知疲倦聰明又從來不抱怨的機器秘書

2.using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

/*2. 定義mylist類,該類模擬乙個動態陣列,可以用來存放資料(以int型別為例)。實現如下功能:

1)定義屬性count,表示當前動態陣列存放的int型元素個數;

2)定義方法clear(),可以清空所有的元素;

3)定義方法add(),可以實現新增元素的功能;

4)定義方法insert(int value, int index),可以實現在某個位置插入元素的功能;

5)定義方法reverse(),可以實現元素的反轉。

6)定義方法contains(),可以查詢元素是否存在。 */

namespace

h2 class

mylist

<

t>

//////

屬性,得到陣列的元素的個數

///public

intcount

} public

void

add(

t x)

//把要加的資料方法放到陣列裡面

a[length] = x;

//陣列元素的個數要加1

length++;

} ///

///擴充陣列容量的方法

///private

void

enlargecapacity()

//把a指向新陣列

a =temp;

} ///

///清空陣列

///public

void

clear()

public

bool

contains(

int x)

} return

false ;}

//陣列的反轉

public

void

reverse()

} ///

///插入 ///

///index

">

///num

">

public

void

insert(

int index,

t num)

//如果插入的位置在陣列之外

if (index<0)

//如果插入的位置剛好在所有元素的最後面

else

if (index ==length)

else

if (index >= length + 1)

else

a[index] = num;

length += 1;}}

//////

列印陣列

///public

void

printarray()}}

class

program}}

C 介面 泛型

介面 介面用inte ce關鍵字表示 可以存放成員 屬性 方法 事件 索引器 解決不能多重繼承的問題 介面只負責類的宣告 保證統一性 介面可以包含屬性和方法的宣告,但不能有欄位 介面中的所有成員預設public,不能在訪問修飾符 實現介面的任何類或者結構必須實現其所有成員方法 介面不能被直接例項化,...

泛型類,泛型介面,泛型方法

1.泛型介面和泛型類的使用類似,無區別。2.泛型方法使用是將泛型引數放在方法的返回值之前,例子 public void f t x 如果f t x 這個方法所在的類已經是擁有泛型引數t的泛型類,那麼可以省略前面的。因為編譯器會自動為我們找到具體的型別,稱之為型別引數推斷 type argument ...

Java基礎 泛型 泛型介面 泛型類 泛型方法

一 二 三 泛型方法 1.public t test t t1,t t2 一 泛型 1.泛型產生的背景 原因1 集合中儲存資料時,編譯期間可以儲存任何型別的資料,導致取值時轉換出錯 原因2 每次取值都需要強制轉換,冗餘繁瑣 2.泛型的定義 泛型的本質是乙個引數化的型別 在程式編碼中一些包含引數的類 ...