문제

나는 무엇을 이해한다 : State /do /. 그것은 당신의 수업에서 Java와 같은 필드를 만듭니다. 내가 이해하지 못하는 것은 이것의 요점은 무엇입니까? 다른 클래스를 연장하는 Clojure에서 생성 된 클래스로 만 수행 한 것 같습니다. http://www.fatvat.co.uk/2009/05/clojure-and-robocode.html 하나의 예가됩니다. 나는 Java를 모른다. 그리고 나는 객체 지향 프로그래밍에 정통하지 않다. 누군가가 나에게 주, 그리고 Java Interop과 함께 어디에 있는지 설명 할 수 있습니까?

정말 감사합니다!

참고 : 내가 말할 때 : State, 나는 (: Gen-Class : State)를 언급하고 있습니다.

도움이 되었습니까?

해결책 3

나는 #Clojure IRC 채널에서 Hiredman과 이야기를 나누었고, 그 주요 요점은 인스턴스 당 상태라고 말했습니다. 그것은 의미가 있습니다.

다른 팁

: State는 단순히 Gen-Class의 일부로 생성 된 기능간에 일부 데이터를 공유하는 방법입니다. 객체의 인스턴스 데이터와 정확히 동일하다고 생각하십시오.

더 많은 정보 state 그리고 초기화하는 방법 기사를 찾을 수 있습니다. Gen-Class-작동 방식 및 사용 방법

기사에서 :

  • :state 객체의 상태를 반환하는 메소드를 정의합니다.
  • :init 이니셜 라이저의 이름을 정의합니다. 이것은 벡터를 반환 해야하는 함수입니다. 첫 번째 요소는 다시 슈퍼 클래스 생성자에 대한 인수의 벡터입니다. 우리의 경우 이것은 빈 벡터 일뿐입니다. 두 번째 요소는 객체의 상태입니다.

요약해서 말하자면, init 물체의 상태를 반환하고 객체가 인스턴스화 될 때 호출됩니다. state 함수와 달리 클래스의 메소드는 다음으로 반환 된 벡터의 두 번째 요소와 동일한 값을 반환합니다. init.

그런 다음 기사는 계속해서 원자를 사용하여 필요한 경우 객체의 상태를 변경할 수있는 방법을 보여줍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top