2014-11-22 8 views
0

다음 줄메서드 호출의 왼쪽은 무엇입니까?

주어
cat.meow(10, x); 
  • "야옹"
  • 10 호출되는 "함수"또는 "방법"인 "첫번째 인수"
  • x는 "두번째 인수"
  • 이다

cat은 무엇입니까?

나는 대답에 만족하지 않고, cat을 "객체"라고 부릅니다. 나는 그것이 "수신자"라고 불리는 것을 들었다고 말하고 싶지만, 나는 그것을들은 곳을 기억하지 못한다.

10x이 모두 객체 일 수 있으므로 cat을 호출하면이 구성 요소와 인수 구성 요소를 구별하는 데 도움이되지 않습니다.

이렇게하면 함수 호출을 구성하는 다양한 구성 요소에 대해 논의하기가 어렵습니다.

+0

맞는지 확실하지 않지만 변수라고 부릅니다. – csmckelvey

+0

왼쪽의 리터럴을 사용하면 변수가 아닙니다. 그 표현 유형의 구성 요소에 대해서도 논의 할 수 있다면 여전히 좋을 것입니다. [1,2,3] .forEach (foo); – naomik

+0

smalltalk과 objective-c에서는 메시지를 전달하고 함수를 호출하지 않는 언어처럼 수신자가됩니다. OOP 언어에서 cat은 객체로서 객체가 될 것이고, 메소드를 호출 할 것입니다. –

답변

2

은 객체 지향 subject-verb-object 문장 구조 프로그래밍을 모방 다음 “ 대상 ”라고 ” 나에게 의미가 있기 때문에. 그러나,이 명명법에 대한 합의가 없습니다. 모든 사람은 자신이해야 할 것에 대해 자신의 견해를 가지고 있습니다.

+0

고마워요, 이건 정확히 내가 찾던 내용입니다. – naomik

1

개체는 특정 클래스의 인스턴스입니다. 당신은 cat이 10의 인스턴스가 Integer 인 것처럼 [put class name here] 클래스의 인스턴스라고 말할 수 있습니다.

0

보통 우리는 그 객체를 호출합니다. 당신의 논리에 따르면,이 방법으로

야옹 받아 (자동, 10, X) -이 자기가이 경우에 (10)와 같은 객체와 X

같은이 실제 기능입니다 - cat.meow (

cat.meow(10, x); 
|_||___||_____| 
| |  | 
| |  +--> object (the arguments list is a tuple object) 
| | 
| +--> verb (the verb is the method name with the dot) 
| 
+--> subject (quite self explanatory) 

내가 그것을 “ 주제 전화를 명확히해야한다 : (10), 배)