OOP中不同类型的方法

时间:2014-05-16 13:04:41

标签: java

我知道在OOP中有Mutator(设置),Accesor(获取)和Construtor(初始化)方法。

但是调用的方法是什么,例如" moveCharacterUpward()"," checkIfHitsWall();"?它们被称为操作方法吗?

2 个答案:

答案 0 :(得分:3)

  

但是调用的方法是什么

通常它们被称为行为方法 - 它们定义了对象能够做什么 - 它的行为。什么样的方法无关紧要 - 与其他方法相同。

通常,如果操作返回void(无),则通常称为方法。当它返回某个东西时,它被称为函数。

注意:通常,两者都是方法。这是如何“标记”它们或如何区分/命名它们的唯一方法。

答案 1 :(得分:0)

真的没有任何关于你想要的东西。如果你想知道为什么,你需要看看你的问题的措辞。你想知道“做事”的方法的名称是什么。但是“做某事”意味着什么?变异器,访问器和构造器都做事,不是吗?

请考虑以下事项:

public void moveCharacterUpward(int distance)
{
    characterPosition.Y += distance;
}

public bool checkIfHitsWall(Movement movement)
{
    return movementResolver.CheckForCollision(characterPosition, wallPosition, movement);
}

(这些只是示例,假设characterPositionmovementResolverwallPosition是某种类型的私人成员。)

这是你的两个例子,但你会看到他们所做的完全不同。 moveCharacterUpward本质上更像是accessor和mutator的组合,以特定方式使用然后设置变量。而checkifHitsWall根本不会改变状态,而是回答调用它的代码的问题。没有比“方法”更具体的术语涵盖这两者,因为它们在概念上并不十分相似!