我知道在OOP中有Mutator(設置),Accesor(獲取)和Construtor(初始化)方法。OOP中的不同類型的方法
但是,這個方法叫做什麼,比如「moveCharacterUpward()」,「checkIfHitsWall();」?他們是否稱爲操作方法?
我知道在OOP中有Mutator(設置),Accesor(獲取)和Construtor(初始化)方法。OOP中的不同類型的方法
但是,這個方法叫做什麼,比如「moveCharacterUpward()」,「checkIfHitsWall();」?他們是否稱爲操作方法?
但是那是什麼做的事情
通常他們是所謂的行爲方法調用的方法 - 他們定義什麼對象(S)是/是能夠做到 - 這是行爲。什麼樣的方法確實無關緊要 - 與其他方法一樣。
通常,如果操作返回void(無),通常稱爲方法。當它返回時,它被稱爲函數。
說明:一般來說,兩者仍然是方法。如何「標記」它們或如何區分/命名它們是唯一的方法。
函數也是方法。 –
@BenAaronson是的,但我們可以將其命名爲「功能」。一般來說,兩者都是方法。有人可以像我提到的那樣命名它。 – Sajmon
當我谷歌「類型的方法」,所有我能找到的是增變器,accesor,和構造函數,但沒有真正提到除了那些以外的其他任何東西。試圖谷歌「行爲方法」,但無法找到任何東西。我應該搜索什麼關鍵字? – user3589718
真的沒有你想要的東西。如果你想知道爲什麼,你需要看看你的問題的措辭。你想知道什麼是「做事情」的方法的名稱。但是,「做些什麼」意味着什麼? Mutators,訪問器和構造函數都可以做,不是嗎?
考慮以下幾點:
public void moveCharacterUpward(int distance)
{
characterPosition.Y += distance;
}
public bool checkIfHitsWall(Movement movement)
{
return movementResolver.CheckForCollision(characterPosition, wallPosition, movement);
}
(這些只是由實施例中,假設characterPosition
,movementResolver
和wallPosition
是某種類型的私有成員)。
這是你的兩個例子,但你會看到他們做的是完全不同的。 moveCharacterUpward
本質上,它更像是存取器和增變器的組合,以特定的方式用於設置變量。儘管checkifHitsWall
根本不會改變狀態,但它會爲調用它的代碼回答一個問題。沒有一個術語比「方法」更具體,因爲它們在概念上不是很相似!
所有方法都有所作爲。我不確定您的示例是否有特定的名稱。 –
moveCharacterUpward()< - 這不是一個增變器,accesor也不是construtor。這是什麼方法? – user3589718
「moveCharacterUpwards」方法是否改變對象的狀態?如果是這樣,它是一個增變器。並非所有的增變器都是制定者。 – Raedwald