C#中方法和屬性有什么區(qū)別啊 新人傻傻分不清啊 能不能具體一點(diǎn)解釋一下。

C#中方法和屬性有什么區(qū)別啊 新人傻傻分不清啊 能不能具體一點(diǎn)解釋一下。

方法和屬性都是類型的成員。屬性的本質(zhì)是方法。

屬性分為普通屬性(無參)和有參屬性(也叫“索引器”)。

從語義上講,屬性封裝的是對象的數(shù)據(jù),它用來獲取對象私有字段的值;方法封裝的是對象的行為,它用來改變對象的行為。

java屬性和方法的區(qū)別

1、Java中的屬性和字段有什么區(qū)別? 答:Java中的屬性百科,通??梢岳斫鉃間et和set方法。而字段,通常叫做“類成員”。

這兩個(gè)概念是完全不同的。

屬性只局限于類中方法的聲明,并不與類中其他成員相關(guān)。例如:void setA(String s){}String getA(){}當(dāng)一個(gè)類中擁有這樣一對方法時(shí),我們可以說,這個(gè)類中擁有一個(gè)可讀寫的a屬性(注意是小寫a)。如果去掉了set的方法,則是可讀屬性,反之亦然。類成員(字段),通常是在類中定義的類成員變量,例如:public class A{private String s = \”123\”;}我們可以說A類中有一個(gè)成員變量叫做s。

計(jì)算屬性與方法的區(qū)別

計(jì)算屬性和方法都可以完成同樣的操作,其寫法及效果很相似,例如: 兩者不同在于,計(jì)算屬性是基于它們的響應(yīng)式依賴進(jìn)行緩存的。只在相關(guān)響應(yīng)式依賴發(fā)生改變時(shí)它們才會(huì)重新求值。

這就意味著只要 message 還沒有發(fā)生改變,多次訪問 reversedMessage 計(jì)算屬性會(huì)立即返回之前的計(jì)算結(jié)果,而不必再次執(zhí)行函數(shù)。

相比之下,每當(dāng)觸發(fā)重新渲染時(shí),調(diào)用方法將總會(huì)再次執(zhí)行函數(shù)。

java 屬性和方法的區(qū)別

通俗地說,屬性就是一個(gè)對象(萬物皆對象)所具有的特征或者是特點(diǎn),比如一個(gè)帶著紅色帽子的站在馬路邊的小女孩,其中“戴著紅色帽子的”以及“站在馬路邊的”就是她的屬性;方法就是一個(gè)對想所能完成的行為,比如那個(gè)女孩會(huì)走路、會(huì)說話、會(huì)哭、會(huì)笑等等,這些都是她所具有的方法;另外就是事件,表示外部驅(qū)動(dòng),比如那個(gè)女孩被媽媽打屁屁了,小女孩就哭了,媽媽給小女孩吃糖了,小女孩就笑了,其中“媽媽打小女孩屁屁”以及“媽媽給小女孩糖吃”就是事件,這兩個(gè)事件分別使小女孩(對象)“哭”以及“笑”(哭笑為方法),即事件驅(qū)動(dòng)方法的發(fā)生。

編程中怎么區(qū)別屬性和方法 知乎

屬性的嚴(yán)格寫法是public class a{ public string a; public int b;}這個(gè)才叫屬性,屬性是一個(gè)類的變量,屬性作為變量不承擔(dān)任何計(jì)算過程。而屬性過程則不同屬性過程的寫法public class a{ private string a; private int b; public string a { get { return this.a; } set { this.a=value; } } public int b { get { return this.b; } set { this.b=value; } }}屬性過程則不同,屬性過程可以理解為特殊的方法或函數(shù),這個(gè)方法只有一個(gè)參數(shù)并且只能返回一個(gè)值。

屬性過程的作用在于,對輸入數(shù)據(jù)的有效性處理設(shè)想一下用戶注冊這個(gè)功能用戶注冊有一個(gè)用戶類用戶類有一個(gè)屬性用戶名public class user{ public string username;}而通常限制用戶注冊用戶名不能為空要在用戶界面去限制。

user Objus=new user();if(Objus.username==null){ throw new Exception(\”用戶名不能為空\”); }這樣寫的確沒錯(cuò),但是如果你登陸里也要限制用戶名不能為空,用戶修改資料里也得限制,這時(shí)候還得寫一遍上面的代碼,而這樣就會(huì)有很多重復(fù)的代碼。就算你能**粘貼,這些代碼也是重復(fù)的每回你也要**粘貼才可以。如果用屬性過程public class user{ private string _username; public string username { get { return this._username; } set { if(value==null) { throw new Exception(\”用戶名不能為空\”); } this._username=value; } }}這時(shí)你登陸界面只需兩行代碼就驗(yàn)證了用戶名不能為空user Objus=new user();Objus.username=this.Textbox1.Text;就兩行就可以,其他地方也是一樣,這就是屬性過程。