2016-11-06 13 views
0

에펠에서는 'anchored declaration'으로 유형을 지정할 수 있습니다.Eiffel의 키워드 like와 같은 불변량 공유

class C 

feature 

    f: INTEGER 
     do 
      ... Do something ... 
     end 

    g: like f 
     do 
      ... Do some other thing ... 
     end 

invariant 
    0 < f 
    -- 0 < g <-- Does this pop into existence? 
end 

내가이 어디 작성 보지 않았고, 나는 그것이 그렇지 않다 생각 : 클래스의 관련 불변는 고정 된 선언에 적용 할 경우

이 궁금하다. 때때로 또 다른 유형을 정의하는 것을 피하는 것이 편리 할 수도 있지만, 다른 모든 경우에 앵커 선언의 유용성을 제한한다고 생각합니다.

답변

1

아니요, 고정 된 선언에서 자동으로 불변성을 만들 수 없습니다. 줄에서 :

g: like f 

앵커 유형 "like f"는 "g"유형을 바꿉니다. "g"의 유형으로 "f"유형을 복사하여 붙여 넣는 것과 매우 비슷합니다. 즉, 귀하의 예에서 작성한 내용은 직접 쓰는 것과 거의 같습니다.

g: INTEGER 
+0

이 문제를 해결해 주셔서 감사합니다. – g4v3