파이썬에서는 클래스의 메서드에 @property
데코레이터를 사용하여 속성으로 사용할 수 있습니다. 따라서 car.tyres()
대신 car.tyres
이라고 적어주세요. car::tyres
에 액세스 할 때마다 OO 패러다임에 따라 일부 메서드가 실행되어 값을 반환합니다. 이 방법으로 객체에 정보를 저장하지 않고 액세스시 계산할 수 있습니다 (메모리와 CPU 시간 사이에 균형을 유지할 수 있음).S4 오브젝트의 속성 데코레이터
지금은 R에서 비슷한 S4 객체를 데 이것은 R에 좋습니다 여부를이 S4 개체에 대한 R 가능하다
- 여부를 궁금해하고
- ? (2) 내가 좀 더 일반적인 방법은 R에서이 작업을 수행 할 수 있다는 느낌이에 관해서는
는 일반적인 기능 tyres()
를 작성하고 다음 tyres(car)
을하는 것입니다. 하지만 그건 내가 OO 프로그래밍으로 보이지 않습니다. 누군가 정교 할 수 있습니까?
"자연스러운 OOP 코드"는 R에서 부자연 스럽기 때문에 논의의 문제입니다 (내 견해로는 잘못된 것입니다). 기능적 언어 인 R은 그러한 언어보다 OOP에 대한 시각이 다릅니다. 자바와 C++. 많은 사람들이 유사한 언어를 통해 OOP에 처음 노출되지만 OOP에 대한 독점권은 없습니다.실제로 자바 스타일의 OOP는 훨씬 더 기능적인 패러다임을 따른 원래 OOP와 거의 비슷하지 않습니다. –
@KonradRudolph, OK, 동의합니다. OOP는 캡슐화, 상속, 다형성 (polymorphism)에 관한 것입니다 ... 심지어 S3는 그것들을 포함합니다. 이러한 개념을 특정 구문과 내 자신의 취향과 혼동하지 않으려면 나에게 똑똑하지 않습니다. –