深入學習方法和屬性
前言
我們之前都學習過:屬性和方法,相信大家都知道他們的區別,那現在一起來跟著小編來走一下這些你可能不瞭解的知識點。
方法
給大家1分鐘的思考時間,方法如何寫。。。。。。
好了,不管大家有沒有思考出來,現在我來公佈答案嘍!
訪問修飾符 返回型別 方法名(){ }
再給大家1分鐘的思考時間,方法是用來幹什麼的
沒錯,方法就是完成一個功能,查詢是否正在上機的方法就是完成了查詢是否正在上機的功能。那我需要完成一個功能,是否可能會需要一些“工具”,就像查詢是否正在上機,我是不是需要知道卡號,然後再去查這個卡號是不是正在上機。
這個卡號就是寫在“()”裡的引數
實參 OR 形參
還是接著上面的例子來:我需要查詢是否正在上機,在Facade層中我有了這樣的一個方法:
public DataTable InquiryIsOnline(Entity.UserInfo UserInfo)
{
return;
}
“()”裡面寫的是引數,這個是實體型別的UserInfo(當然UserInfo也可以換成其他的東西),它表明我需要一個Entity.UserInfo型別的引數,是形式上的引數。
接下來我們看U層的呼叫:
Entity.UserInfo user = new Entity.UserInfo(); Facade.LineFacade faca = new Facade.LineFacade(); DataTable tab = faca.InquiryIsOnline(user);
例項化外觀層,調外觀層中的方法,去執行我要查詢的功能,“()”裡也有一個引數user,這個user就是Entity.UserInfo型別的,並且是我傳過去去執行我的功能的引數,是實際的引數。
Entity
通過上面的例子可以發現,我的引數需要是Entity.UserInfo型別的(重構後的大家都知道,Entity.UserInfo是我們自己寫的一個實體類,一般情況下一個實體類對應資料庫中的一張表,且型別一樣),那我為什麼需要傳遞Entity型別的呢?可不可以傳其他型別的呢?換個說法,重構中的Entity起到了什麼作用?
引數是寫在方法中的“()”裡進行傳遞的,我們不妨把這個看成是方法的兩隻手,如果我現在需要傳一個引數“卡號”,可以不通過Entity直接傳;現在我們又需要傳遞一個“學號”,兩個引數也可以直接傳,那現在我們又需要傳遞引數“姓名”“年齡”“專業”,5個引數一起傳,因為只有兩隻手,可能會出現丟值的情況。但是你把這5個引數都放到一個袋子裡,直接提著袋子來回傳,豈不快哉!所以這裡的Entity相當於一個袋子的作用!
例項化
對類A進行例項化:
A a = new A();
那這裡的A()是什麼呢?沒錯就是構造方法(函式),如果()裡有引數,就是給物件進行賦值。而且呼叫方法前都有“=”。
屬性
屬性就不用多說了吧,直接來舉一個小例子:
private int shoutNum=3; //宣告一個內部欄位,注意是private,預設叫的次數是3
public int ShoutNum //ShoutNum屬性,注意是public,當中有兩個方法,get讀值,set賦值
{
get
{
return shoutNum;
}
set
{
shoutNum=value;
}
}
方法與屬性的區別
1)屬性是可以賦值的,而方法是用來傳值、傳參的,方法也有返回值。
2)方法有兩隻小手。
大結局
通過這次的“夜話方法和屬性”,對其瞭解的更深刻了,知識是需要重複學習的,對於這些需要多次重複學習的知識,打好基礎是很重要的。