我是新來的,正在爲面向對象編程而苦苦掙扎。我只想在我的第三個方法'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. 只有在shouldChangeCharactersInRange返回後調用一個方法是
- 2. 如何從一個回調建設變量,.getjson後返回一個變量,。每
- 3. 如何從Ruby方法返回變量?
- 4. 如何在同一類的另一個方法中調用方法的變量
- 5. PHP - 如何從類方法返回一個變量?
- 6. 如何在主線程中像回調一樣返回變量?
- 7. JUnit調用調用另一個方法的方法返回nullPointerException
- 8. 如何處理返回一個內部回調變量?
- 9. 調用方法名稱在另一個變量中的變量的方法
- 10. 如何將多個變量返回到Java中的方法?
- 11. 在ajax調用中返回一個變量
- 12. 如何用另一種方法調用方法返回?
- 13. 如何從getItemMetadata返回一個變量?
- 14. 如何返回一個私有變量
- 15. 如何從一個回調變量到另一個回調?
- 16. 如何設置從一個方法返回一個變量的XHR?
- 17. 在SessionWizardView中返回一個變量
- 18. 如何從包含多個變量的函數中只調用一個變量?
- 19. 如何保持一個變量回調
- 20. 如何從一個方法返回一個徵::矩陣返回
- 21. Rhino:如何從JavaScript調用的Java方法返回一個Integer?
- 22. 指定一個回調返回值給一個變量
- 23. 調用從方法返回的對象方法作爲方法變量
- 24. 如何發送回調方法,另一個回調方法
- 25. 如何在多個方法調用中保持變量值?
- 26. 在一個方法中使用變量到另一個方法
- 27. 如何從方法返回多個變量?
- 28. 在另一個類中調用方法時返回null
- 29. Python:返回一個變量
- 30. 返回一個變量 - undefined
爲什麼你要調用'Main'中的前兩個函數呢?你在'tableinfo'中再次調用它們,所以'Main'中的調用沒有實現任何效果 – UnholySheep
檢查在你的tableInfo方法中移除對TableNumber和NumberOfPartons的兩個調用會發生什麼。這應該點燃蠟燭以瞭解面向對象 – Steve