[問題] 關於一個使用class內function的問題

看板C_Sharp作者 (流浪者)時間16年前 (2009/07/25 13:09), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
大家好,小弟在看書上的範例的時候看到一種寫法看不懂: 比如我寫了一個abstract class(只能繼承不能用他來建立物件)名叫Employee,Employee 內有兩個function,一個叫ToString(),另一個叫Earnings()。我寫了一個class叫Boss 繼承自Employee,也有他自己的Earning()和ToString().大概像: public abstract class Employee { . . . public override string ToString() { 回傳字串 } public abstract decimal Earning() } 以上是class Employee publci class Boss: Employee { . . public override string ToString() { 回傳字串 } public override decima Earning() { 回傳值 } } 以上是 Class Boss 我建立了一個Boss物件boss. 後來要寫一個程式顯示boss中的Earning的值時看到例子上寫了: output = boss.Earning().ToString("C") <-不懂之處 boss.Earning()這樣是呼叫boss物件中的Earning(),但是後面接的.ToString()這樣是 什麼用法? (ToString()好像原來就存在,override覆寫成我們想要的形式) 呼叫物件中的function後面可能再接著一個function!? 請問大家這是什麼?(也請鞭小力一點...) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 72.229.53.41

07/25 14:29, , 1F
decimal tmp = boss.Earning(); output = tmp.ToString
07/25 14:29, 1F

07/25 23:26, , 2F
剛剛看了一下MSDN發現functio後面可以接.ToString(),變
07/25 23:26, 2F

07/25 23:28, , 3F
數後面也可以這樣用,讓結果變成字串...
07/25 23:28, 3F

07/26 00:11, , 4F
boss.Earning() 回傳的是一個 decimal 物件,這個物件的
07/26 00:11, 4F

07/26 00:11, , 5F
.ToString() 是 decimal 這個 class 本身的函式,跟 Boss
07/26 00:11, 5F

07/26 00:12, , 6F
裡面的 ToString() 一點關係也沒有~ :D
07/26 00:12, 6F
文章代碼(AID): #1AQfEQZj (C_Sharp)