第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

C# 中關(guān)于構(gòu)造函數(shù)的基礎(chǔ)問題

C# 中關(guān)于構(gòu)造函數(shù)的基礎(chǔ)問題

慕容森 2018-12-06 19:27:31
以下是源代碼: 注意紅色部分,為什么用GrossSales和CommissionRate,而不是grossSales和commissionRate ??? 抑或是兩種方法相同?? ? public class CommissionEmployee : object { private string firstName; private string lastName; private string socialSecurityNumber; private decimal grossSales; // gross weekly sales private decimal commissionRate; // commission percentage // five-parameter constructor public CommissionEmployee( string first, string last, string ssn, decimal sales, decimal rate ) { // implicit call to object constructor occurs here firstName = first; lastName = last; socialSecurityNumber = ssn; GrossSales = sales; // validate gross sales via property CommissionRate = rate; // validate commission rate via property } // end five-parameter CommissionEmployee constructor // read-only property that gets commission employee's first name public string FirstName { get { return firstName; } // end get } // end property FirstName // read-only property that gets commission employee's last name public string LastName { get { return lastName; } // end get } // end property LastName // read-only property that gets // commission employee's social security number public string SocialSecurityNumber { get { return socialSecurityNumber; } // end get } // end property SocialSecurityNumber // property that gets and sets commission employee's gross sales public decimal GrossSales { get { return grossSales; } // end get set { grossSales = ( value < 0 ) ? 0 : value; } // end set } // end property GrossSales // property that gets and sets commission employee's commission rate public decimal CommissionRate { get { return commissionRate; } // end get set { commissionRate = ( value > 0 && value < 1 ) ? value : 0; } // end set } // end property CommissionRate // calculate commission employee's pay public decimal Earnings() { return commissionRate * grossSales; } // end method Earnings // return string representation of CommissionEmployee object public override string ToString() { return string.Format( "{0}: {1} {2}\n{3}: {4}\n{5}: {6:C}\n{7}: {8:F2}", "commission employee", FirstName, LastName, "social security number", SocialSecurityNumber, "gross sales", GrossSales, "commission rate", CommissionRate ); } // end method ToString } // end class CommissionEmployee
查看完整描述

3 回答

?
一只甜甜圈

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊

屬性GrossSalesCommissionRate都是可寫的,如果直接對變量grossSalescommissionRate直接賦值,在性能上會好點(diǎn),但是,這兩個(gè)屬性的Set方法里有數(shù)據(jù)安全檢測,假如在構(gòu)造函數(shù)里直接對變量賦值,那就也要在構(gòu)造函數(shù)里寫安全檢測代碼,這樣同一段代碼兩個(gè)地方編寫,一來重復(fù)勞動,二來容易引起代碼不一致的情況發(fā)生,以后維護(hù)不方便。

?

你這個(gè)問題很簡單,很多人都能回答,但是卻不回答。。。你知道為什么嗎?

查看完整回答
反對 回復(fù) 2019-01-21
?
森林海

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊

太菜了。。。LZ要繼續(xù)補(bǔ)充C#基礎(chǔ)。。。

查看完整回答
反對 回復(fù) 2019-01-21
?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

請看看屬性,是將公有字段進(jìn)行? 封裝——》重構(gòu),更好得保護(hù)程序。屬性包含set(只讀屬性)和get(只寫屬性)構(gòu)造器。

private decimal grossSales;

public decimal GrossSales(公有的GrossSales)
{
get//是只讀,因?yàn)檫@里沒有set(寫),用戶只能讀取
{
return grossSales;//并將值返回到程序中的私有g(shù)rossSales字段
}?

如果你還不明白,你可以自己定義一個(gè)

decimal GrossSales?; 然后鼠標(biāo)在上面右擊——》重構(gòu)——》封裝字段——》然后確定。

自己對照著變化看看是什么發(fā)生了變化,查的話,可以查屬性?關(guān)鍵字

查看完整回答
反對 回復(fù) 2019-01-21
  • 3 回答
  • 0 關(guān)注
  • 306 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號