OOP 전문가를 위한 질문입니다. - 페이지 48

 
Artyom Trishkin :

새로운 운영자가 있습니다. 이 문을 사용하면 프로그램 실행 중에 새 개체를 만들 수 있습니다.

객체에 대한 포인터 배열이 있습니다. 이 배열을 사용하면 그 안에 있는 모든 개체에 대한 포인터를 넣을 수 있습니다.

포인터 배열 자체가 객체입니다.

이제 생각하고 답하십시오. 즉석에서 개체에 속성을 추가하는 것이 가능합니까, 아니면 불가능합니까?

내 게시물을주의 깊게 읽으십시오. 나는 즉시 새로운 속성을 추가할 수 있다는 가능성에 동의했지만 이것이 무의미하다는 것을 깨달았습니다. "즉시" 새 속성 - 개체 구조 업데이트를 의미하지 않습니다. 그의 유전적 연결과 결과적으로 전체 시스템은 변경되지 않은 상태로 유지됩니다. 결과적으로 - 객체는 쓸모없는 속성을 갖게 될 것입니다. 왜냐하면 이 속성과 함께 작동하는 새로운 알고리즘을 구축하지 않고는 이 속성을 통합할 수 없기 때문입니다.
 
Реter Konow :
내 게시물을주의 깊게 읽으십시오. 나는 즉시 새로운 속성을 추가할 수 있다는 가능성에 동의했지만 이것이 무의미하다는 것을 깨달았습니다. "즉시" 새 속성 - 개체 구조 업데이트를 의미하지 않습니다. 그의 유전적 연결과 결과적으로 전체 시스템은 변경되지 않은 상태로 유지됩니다. 결과적으로 - 객체는 쓸모없는 속성을 갖게 될 것입니다. 왜냐하면 이 속성과 함께 작동하는 새로운 알고리즘을 구축하지 않고는 이 속성을 통합할 수 없기 때문입니다.

이벤트 핸들러가 부여된 몇 가지 기본 속성 개체가 있습니다. 이 속성 객체는 자신의 상태를 이전 상태와 비교하는 기본 기능을 수행하고 비교 결과(더/적음/변경되지 않음)를 저장합니다. 그는 평생 동안 이것을 합니다.

다른 객체의 모든 속성은 동일한 객체 속성입니다. 그리고 다른 객체 자체는 객체 속성의 계승자입니다.

따라서 모든 객체는 자신의 상태와 속성의 상태를 확인하고 차례로 모든 속성의 상태를 확인하여 지속적으로 생존합니다(자신이 객체 속성의 상속인인 경우).

각 속성에는 고유한 ID가 있습니다.

따라서 각 개체는 어떤 속성이 변경되었는지 알고 있습니다.

각 속성 개체에는 한 방향 또는 다른 방향으로 속성 변경에 응답하는 처리기가 있습니다. 그리고 여기에서 "생성자"는 객체가 속성 변경에 반응하는 방식을 등록해야 합니다.

프로그램이 귀하의 참여 없이 필요한 곳으로 "돌연변이"하기를 원하십니까? 새 속성 변경 핸들러를 직접 만드셨습니까?

글쎄요, 당신은 DNA에 대해 힌트를 얻었습니다. 여기에는 개체 및 속성에 대한 설명만 포함되어 있지 않습니다. 그것은 또한 그의 행동을 인코딩합니다. 즉, 실제로 일부 외부 요인이 변경될 때 속성의 동작을 코딩하는 작업을 처리해야 합니다. 그리고 작게 시작하여 점차 더 복잡한 관계로 나아가십시오. DNA에 대한 모든 것을 배우고 개체를 설명 하는 고유한 유전 코드를 만들기 시작합니다. 각 개체에는 자체 체인이 있습니다. 생명은 창조주를 능가하기에 충분하지 않습니다.
 

아주 오래전에 아주 멋진 컴퓨터 게임이 있었습니다 - Snake Fights. 거기에서 뱀을 프로그래밍해야 하지만 프로그래밍 방법이 너무 이상해서 어떻게 동작할지 명확하지 않습니다. 꽤 재미있는 예능이었습니다.

플레이한 사람이 있습니까?

 
Dmitry Fedoseev :

아주 오래전에 아주 멋진 컴퓨터 게임이 있었습니다 - Snake Fights. 거기에서 뱀을 프로그래밍해야 하지만 프로그래밍 방법이 너무 이상해서 어떻게 동작할지 명확하지 않습니다. 꽤 재미있는 예능이었습니다.

플레이한 사람이 있습니까?

나는 이것을 어셈블러의 "스펙트럼"에 대해 프로그래밍했습니다. 진실은 정확히 같지는 않지만 처음에 그는 자신과 외부 환경과 상호 작용할 수 있고 스스로 증식할 수 있는 세포를 만들었습니다. 그리고 나서 나는 두 생물 사이에 싸움을 하기로 결정했습니다. 두 사용자 각각은 자신이 만든 행동 코드를 입력한 다음 두 생물이 어떻게 영역과 서로를 점령하는지 지켜볼 수 있었습니다.

재미있었다.

 
Artyom Trishkin :

이벤트 핸들러가 부여된 몇 가지 기본 속성 개체가 있습니다. 이 속성 객체는 자신의 상태를 이전 상태와 비교하는 기본 기능을 수행하고 비교 결과(더/적음/변경되지 않음)를 저장합니다. 그는 평생 동안 이것을 합니다.

다른 객체의 모든 속성은 동일한 객체 속성입니다. 그리고 다른 객체 자체는 객체 속성의 계승자입니다.

따라서 모든 객체는 자신의 상태와 속성의 상태를 확인하고 차례로 모든 속성의 상태를 확인하여 지속적으로 생존합니다(자신이 객체 속성의 상속인인 경우).

각 속성에는 고유한 ID가 있습니다.

따라서 각 개체는 어떤 속성이 변경되었는지 알고 있습니다.

각 속성 개체에는 한 방향 또는 다른 방향으로 속성 변경에 응답하는 처리기가 있습니다. 그리고 여기에서 "생성자"는 객체가 속성 변경에 반응하는 방식을 등록해야 합니다.

프로그램이 귀하의 참여 없이 필요한 곳으로 "돌연변이"하기를 원하십니까? 새 속성 변경 핸들러를 직접 만드셨습니까?

특정 "범용" 핸들러가 값과 함께 발생하는 이벤트를 제어하는 알고리즘 블록에 새 변수 를 추가하는 방법에 대해 설명했습니다. 핸들러는 자체적으로 속성 값을 관리하지 않습니다. 알고리즘의 "명령에 따라" 변경을 수행하고 이 이벤트를 수정합니다.

알고리즘 자체는 속성이 개체의 기능을 결정하는 방법에 대한 아이디어를 구현합니다. 새로운 기능은 새로운 동작(이벤트와 매개변수 값의 관계)과 "즉시"를 수행하지 않는 표준 방식으로 설명하는 새로운 알고리즘입니다.

 
Artyom Trishkin :

...

글쎄요, 당신은 DNA에 대해 힌트를 얻었습니다. 여기에는 개체 및 속성에 대한 설명만 포함되어 있지 않습니다. 그것은 또한 그의 행동을 인코딩합니다. 즉, 실제로 일부 외부 요인이 변경될 때 속성의 동작을 코딩하는 작업을 처리해야 합니다. 그리고 작게 시작하여 점차 더 복잡한 관계로 나아가십시오. DNA에 대한 모든 것을 배우고 개체를 설명 하는 고유한 유전 코드를 만들기 시작합니다. 각 개체에는 자체 체인이 있습니다. 생명이 창조주를 능가하기에 충분하지 않다는 것이 두렵습니다.
재정의하는 것은 불가능합니다. 희미한 그림자를 만들 수 있지만 그만한 가치가 있습니다.))
 
Реter Konow :

특정 "범용" 핸들러가 값과 함께 발생하는 이벤트를 제어하는 알고리즘 블록에 새 변수 를 추가하는 방법에 대해 설명했습니다. 핸들러는 자체적으로 속성 값을 관리하지 않습니다. 알고리즘의 "명령에 따라" 변경을 수행하고 이 이벤트를 수정합니다.

알고리즘 자체는 속성이 개체의 기능을 결정하는 방법에 대한 아이디어를 구현합니다. 새로운 기능은 새로운 동작(이벤트와 매개변수 값의 관계)과 "즉시"를 수행하지 않는 표준 방식으로 설명하는 새로운 알고리즘입니다.

속성의 값은 외부 환경에 의해 "관리"됩니다. 각 속성 개체에는 이 속성을 확인하고 확인 결과를 저장할 수 있는 기능이 부여됩니다.

전체 개체에는 모든 속성의 값과 상태를 볼 수 있는 기능이 있습니다. 거듭난 사람들도 포함됩니다.

그러나 그가 자신의 속성 변화에 어떻게 반응해야 하는지 - 이것은 그의 유전 사슬에 기록되어 있습니다.

 
오 비즈니스, Peter는 내 머리와 포럼에서 장황하고 똑똑한 신발을 저글링하면서 완전한 OOP 전문가가 되었습니다. 브라보, 스피너에서 오는 기쁨의 느낌을 무언가가 덮을 수 있다고 생각하지 않았지만 일이 일어났습니다. 젠장.
 
Vict :
오 비즈니스, Peter는 내 머리와 포럼에서 장황하고 똑똑한 신발을 저글링하면서 완전한 OOP 전문가가 되었습니다. 브라보, 스피너에서 오는 기쁨의 느낌을 무언가가 덮을 수 있다고 생각하지 않았지만 일이 일어났습니다. 젠장.
간단히 말해서, 나는 다른 사람들의 개념에 대한 추상적인 모델을 만들고 세부 사항을 탐구하지 않고 이해하고 내 자신의 개념과 공생을 외삽하고 만들 수 있습니다. 용이하게.))
 
Artyom Trishkin :

속성의 값은 외부 환경에 의해 "관리"됩니다. 각 속성 개체에는 이 속성을 확인하고 확인 결과를 저장할 수 있는 기능이 부여됩니다.

전체 개체에는 모든 속성의 값과 상태를 볼 수 있는 기능이 있습니다. 거듭난 사람들도 포함됩니다.

그러나 그가 자신의 속성 변화에 어떻게 반응해야 하는지 - 이것은 그의 유전 사슬에 기록되어 있습니다.

나는 당신이 Object의 구조를 그렇게 잘 이해하리라고 기대하지 않았습니다. 다시 말해, 내 생각은 평행하지만, 나는 이러한 문제에 대해 다시 생각합니다. 너무 이르다.