2012-02-21 92 views
0

我已經編程了大約2 - 3年,實際上我正在開發一個遊戲在動作atm。我有一個角色職業,有一些像名字,等級,經驗,傷害,防守等領域。現在我已經使它們受到保護,所以派生類可以看到它們,並且我使用getter和setter來封裝它們,所以其他類只能看到getter。然而,在actionscript中,您似乎無法保護訪問者,因此他們必須是公開的。但是,如果任何人都可以看到它們並編輯它,爲什麼我應該使用訪問器呢?我是否應該跳過封裝,並且只需要使用公共字段並封裝需要在設置時執行其他語句的那些封裝。例如,如果我增加經驗領域,它應該檢查升級時的水平。我應該使用訪問器嗎?

我喜歡c#中的訪問器,因爲它們使編碼更容易,因爲您無法在其他類中看到私有/受保護的訪問器。

如果有一些更有經驗的程序員對訪問者的意見將是很好的。

回答

1

訪問者是一個偉大的公約,但我想你不必遵循這一點。

使用它們的優點是你有一個更好的API,也就是說,IncreaseLevel()函數的作用非常明顯。

另外,您可以靈活地通知代碼的其他部分。例如,如果每次增加一個關卡時,都希望發生某種動畫,則可能會發生在IncreaseLevel()函數中。總而言之,我推薦它。