2013-06-18 89 views
-3

希望我不會爲此發火,因爲我已經使用了一段時間的對象,但從來沒有考慮過這個。對象中的方法參數

當在一個類中聲明一個方法時,

public class shape 
{ 
    public int area(int basePassed, int heightPassed) 
    { 
     return basePassed * heightPassed; 
    } 
} 

當對象被稱爲主類調用它即:

int base = 3; 
int height = 4; 

shape test = new shape(); 

int areaReturned = test.area(base, height) 

用於純粹設置預期參數類型的形狀類的方法「區域」的參數變量在創建對象時傳遞。或者,當對象方法被調用時,這些變量是否會從「Main」類的變量中傳入變量的副本?

+0

在這種情況下,他們會'複製',是的;你應該閱讀.NET中的引用和值類型。順便說一句,你的代碼不會編譯。 '形狀'沒有構造函數來接受這些參數,'base'不存在,'base'是一個無效的名字。 –

+0

這段代碼有很多錯誤。首先,在你的'area'方法中,你應該返回'basePassed * heightPassed'。其次,'base'是C#中的保留字。如果您確實需要使用它,請在其前面放置一個「@」。最後,不知道你真的在問什麼... –

+0

我很抱歉的傢伙。當我問這個問題時,我很快寫了這段代碼,所以我知道它不會編譯。儘管我已經得到了答案。 – user1352057

回答

-1

找到這個傢伙。謝謝大家。

'因此,將值型變量傳遞給方法意味着將該變量的副本傳遞給該方法。對方法內發生的參數所做的任何更改都不會影響存儲在變量中的原始數據。'

+0

你從哪裏找到它的? – svick

相關問題