我是新來的,正在爲面向對象編程而苦苦掙扎。我只想在我的第三個方法'tableinfo'中使用返回值,但是我不知道如何僅將該值傳遞給其他方法,而無需再次運行前兩個方法。我所要做的只是將用戶輸入的值傳遞給第三種方法,而不必將每個值都放入兩次值,這是我知道獲得值的唯一方法,如果有人願意,我會非常感激可以幫助我獲得回報價值。這段代碼是我試圖做的一小段代碼,它的目的並不重要,我只是想創建一個例子來讓人們明白我的意思。 提前謝謝!如何在一個方法中只調用返回變量?
0
A
回答
0
看起來您可能會對方法,屬性和字段之間的差異感到困惑。您的函數TableNumber()可能更準確地稱爲AskUserForTableNumber()或GetTableNumberFromInput()。類似的東西。您也正在設置成員字段並返回值。所以有很多方法可以存儲和檢索該值。如果成員字段表號被標記爲公開,您可以訪問它。或者在你的主要功能,你可以這樣做:
int tablenum=TO.TableNumber();
然後重用該值。
您正在做的另一件奇怪的事情是將輸入字符串存儲爲成員字段。如果您不需要再次引用該字符串,那麼沒有理由成爲TableOrder對象的成員,它可能是執行輸入的函數的局部變量。
但它看起來像你試圖使用TableOrder.TableNumber像一個屬性。這很好或許是正確的做法,但並不妨礙你這樣做。這裏是一個(排序看中的)做類似的事情,也使用延遲加載的概念的方式...
class TableOrder
{
private int? _tablenumber;
public int TableNumber
{
get
{
return _tablenumber ?? (_tablenumber=GetTableNumberFromInput());
}
set
{
_tablenumber = value;
}
}
private static int GetTableNumberFromInput()
{
Console.Write("please enter the table number:");
string inputtablenumber = Console.ReadLine();
return int.Parse(inputtablenumber);
}
//(and so on for other member properties)
}
這樣一來,您嘗試訪問表編號第一次,它會問用戶的價值。之後,你已經有了價值,所以它不會再問。請注意,這種類型的方法並不是真的必要,它主要用於等待加載值直到需要使用該值。相反,你可以做一些事情:TableOrder.TableNumber = GetTableNumberFromInput();
0
首先,你可以刪除電話等主要因爲該方法tableinfo()
會打電話給他們:
class Program
{
static void Main(string[] args)
{
TableOrder TO = new TableOrder();
TO.tableinfo();
}
}
其次,你要使用你已經聲明的類變量, 的返回值這兩個函數都存儲在這些函數中,您可以用Write
輸出它們。
public void tableinfo()
{
tablenumber = TableNumber();
Console.Write(tablenumber + 1);
numberAtTable = NumberOfPartons();
Console.WriteLine(numberAtTable + 1);
}
在這個函數的範圍,則返回值(return numberAtTable
和return tablenumber
)不存在了,它們存儲在什麼離開調用的函數。
相關問題
- 1. 如何添加一個方法來在Rails中返回「變量」?
- 2. 只有在shouldChangeCharactersInRange返回後調用一個方法是
- 3. 如何從一個回調建設變量,.getjson後返回一個變量,。每
- 4. 如何使用方法將一個類存儲到一個變量回調中?
- 5. 如何從Ruby方法返回變量?
- 6. 從一個方法返回一個數組引用變量?
- 7. PHP - 如何從類方法返回一個變量?
- 8. 如何在主線程中像回調一樣返回變量?
- 9. 如何在ajax回調中返回一個php變量並使用它?
- 10. 使用另一個類中的getter方法返回的變量
- 11. 在一個循環中,從方法返回變量
- 12. 如何在JavaScript回調函數中返回多個變量?
- 13. JUnit調用調用另一個方法的方法返回nullPointerException
- 14. 如何處理返回一個內部回調變量?
- 15. 調用方法名稱在另一個變量中的變量的方法
- 16. 如何將多個變量返回到Java中的方法?
- 17. 如何從一個方法調用數組變量到另一個變量
- 18. 如何用另一種方法調用方法返回?
- 19. 在ajax調用中返回一個變量
- 20. Kivy.Clock,如何返回並訪問從調度方法返回的變量?
- 21. 返回一個變量傳遞給另一個方法
- 22. 從另一個類的方法返回一個變量
- 23. 如何調用一個不返回任何東西的方法?
- 24. 如何返回一個私有變量
- 25. 如何從getItemMetadata返回一個變量?
- 26. 如何從一個回調變量到另一個回調?
- 27. 如何設置從一個方法返回一個變量的XHR?
- 28. 傳遞由Ajax回調作爲參數返回一個變量到PHP方法
- 29. 在SessionWizardView中返回一個變量
- 30. 如何從包含多個變量的函數中只調用一個變量?
爲什麼你要調用'Main'中的前兩個函數呢?你在'tableinfo'中再次調用它們,所以'Main'中的調用沒有實現任何效果 – UnholySheep
檢查在你的tableInfo方法中移除對TableNumber和NumberOfPartons的兩個調用會發生什麼。這應該點燃蠟燭以瞭解面向對象 – Steve