2014-05-16 6 views
-4

OOP에서 메소드 (설정), Accesor (얻을) 및 Construtor (초기화) 메소드가 있음을 알고 있습니다.OOP의 다른 유형의 메소드

하지만 "moveCharacterUpward()", "checkIfHitsWall();"등의 작업을 수행하는 메소드는 무엇입니까? 운영 방법이라고 부릅니까?

+0

모든 방법이 효과가 있습니다. 나는 당신의 예를위한 특정한 이름이 있는지 확실하지 않습니다. –

+0

moveCharacterUpward() <- 이것은 mutator, accesor 또는 construtor가 아닙니다. 어떤 방법입니까? – user3589718

+0

'moveCharacterUpwards' 메소드는 메소드의 객체 상태를 변경합니까? 그렇다면, 그것은 돌연변이입니다. 모든 돌연변이 자들이 세터가되는 것은 아닙니다. – Raedwald

답변

3

은 그러나 일 보통 그들이 행동 방법이라고하고

을한다라고하는 방법이 무엇인지 - 그들은 어떤 객체 (들)를 정의는 /입니다 할 수 있습니다 - 그것은 행동입니다. 어떤 종류의 방법이 다른 것과 같은지는 정말로 중요하지 않습니다.

일반적으로 작업이 void (아무것도 없음)를 반환하면 일반적으로 메서드라고합니다. 그것이 무엇인가를 반환 할 때, 그것은 함수라고 불린다.

참고 : 일반적으로 둘 다 여전히 방법입니다. 그것을 "표시"하는 방법 또는 그것들을 구별/명명하는 유일한 방법입니다.

+0

함수도 메소드입니다. –

+0

@BenAaronson 네,하지만 우리는 그것을 "함수"라고 구체적으로 명명 할 수 있습니다. 일반적으로 둘 다 메소드입니다. 누군가 제가 언급 한 것처럼 그것을 지명 할 수 있습니다. – Sajmon

+0

Google의 "메소드 유형"에서 mutator, accesor 및 constructor 만 찾을 수 있지만 그 외의 것은 언급하지 않았습니다. Google에 "행동 방식"을 시도했지만 실제로 아무것도 찾을 수 없었습니다. 대신 어떤 키워드를 검색해야합니까? – user3589718

0

정말로 원하는 단어가 없습니다. 그리고 왜 그런지 알고 싶다면 질문을하는 것보다 더 멀리보아야합니다. 당신은 "일을하는"방법의 이름이 무엇인지 알고 싶습니다. 그러나 "무언가를하라"는 것은 무엇을 의미합니까? 뮤 테이터, 접근 자 및 생성자는 모두 일을 합니다만, 그렇지 않습니까?

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

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

(이 그냥 가정, 예를 만들어 characterPosition, movementResolverwallPosition 어떤 유형의 개인 회원) :

는 다음과 같은 고려하십시오.

이것은 두 가지 예이지만 완전히 다르다는 것을 알 수 있습니다. moveCharacterUpward은 기본적으로 접근 자와 변이 자의 조합처럼 작용하며, 변수를 설정하는 특정 방식으로 사용됩니다. checkifHitsWall은 상태를 전혀 변경하지 않지만, 대신 상태를 호출하는 코드에 대한 질문에 응답합니다. 개념적으로 유사하지 않기 때문에이 두 가지를 모두 다루는 "방법"보다는 더 구체적인 용어가 없습니다!