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

 
Реter Konow :

OOP에서 "객체"는 해당 필드(속성)가 선언된 클래스에 대한 참조입니다. 개체는 각각 배열의 셀인 번호가 지정된 속성 집합을 의미합니다. 이것이 차이점입니다.

질문은 그래픽 인터페이스 주제와 관련이 없습니다. 나는 오래 전에 그래픽 라이브러리를 우회했고 거기에는 내가 찾을 수 있는 것이 없습니다. 하지만 지금은 AI라는 주제에 관심이 있고 이것은 새로운 도전과 질문을 제기합니다.

그런 다음 기성품 라이브러리를 가져 와서 mql과 친구가되고 계속 진행하십시오. 왜 바퀴를 재발명합니까?

 
Artyom Trishkin :
"... 게다가, 우리는 정적 계층에 대해 이야기하고 있습니다. 일정하고 변하지 않는"이 무슨 뜻인지 설명하십시오.
음, 모든 범주에는 특정 정적 개념 집합이 있습니다. 보충할 수 있지만 "기초"는 변경되지 않습니다. 이러한 집합은 "정적" 계층 구조를 형성합니다.
 
Реter Konow :

OOP에서 "객체"는 해당 필드(속성)가 선언된 클래스에 대한 참조입니다. 개체는 각각 배열의 셀인 번호가 지정된 속성 집합을 의미합니다. 이것이 차이점입니다.

그것은 당신에게 달려 있지만 처음에는 용어의 불확실성 개념을 소개합니다

Artyom Trishkin :
"... 게다가 우리는 정적 계층 구조에 대해 이야기하고 있습니다. 일정하고 변하지 않는"이 무슨 뜻인지 설명하십시오.

)))))))

그는 자신의 용어를 가지고 있지만 우리는 "멜로디 추측"

추신: 저는 직업을 5번이나 바꿨지만, 2번을 하고 나서야 빨리 팀에 들어가려면 먼저 동료들과 같은 언어로 의사소통하는 법을 배워야 한다는 것을 깨달았습니다. 이전에 일반적으로 허용된 기술 용어를 사용하여 질문할 수 있습니다. 이것이 가장 효과적입니다. 그렇지 않으면 "여기에 설명서가 있습니다. 읽으십시오"))))

 
Реter Konow :
음, 모든 범주 에는 특정 정적 개념 집합이 있습니다. 보충할 수 있지만 "기초"는 변경되지 않습니다. 이러한 정적 개념 집합에서 "정적" 계층이 형성됩니다.

동일한 수의 필드를 가진 개체가 있고 그러한 개체의 계층 구조를 만들어야 한다는 뜻입니까? 그러나 모든 객체에는 정적 필드 수가 있습니다(클래스 코드에서 직접 번호를 변경할 때까지).

나는 당신을 완전히 이해하지 못하는 것입니다. 카테고리 - 무슨 뜻인가요? "재단" - 무슨 뜻인가요?

 
Igor Makanu :

그것은 당신에게 달려 있지만 처음에는 용어의 불확실성 개념을 소개합니다

)))))))

그는 자신의 용어를 가지고 있지만 우리는 "멜로디 추측"

추신: 저는 직업을 5번이나 바꿨지만, 2번을 하고 나서야 빨리 팀에 들어가려면 먼저 동료들과 같은 언어로 의사소통하는 법을 배워야 한다는 것을 깨달았습니다. 이전에 일반적으로 허용된 기술 용어를 사용하여 질문할 수 있습니다. 이것이 가장 효과적입니다. 그렇지 않으면 "여기에 설명서가 있습니다. 읽으십시오"))))

알다시피 - 객체 계층 구조의 정적 특성에 대해 이야기하면 연관 배열이 자체적으로 제안됩니다. 그리고 내가 다른 정적인 성격에 대해 아무것도 모른다면 ... 그러면 Peter에 대한 설명 질문이 생깁니다.
 
Artyom Trishkin :

동일한 수의 필드를 가진 개체가 있고 그러한 개체의 계층 구조를 만들어야 한다는 뜻입니까? 그러나 모든 객체에는 정적 필드 수가 있습니다(클래스 코드에서 직접 추가할 때까지).

나는 당신을 완전히 이해하지 못하는 것입니다. 카테고리 - 무슨 뜻인가요? "재단" - 무슨 뜻인가요?

필드 수가 같은 개체는 다릅니다. 여기에 개념의 프로그램적 맥락이 아니라 철학적 맥락이 있습니다. 당신은 이것에 정통해야합니다. 철학적 용어로 객체는 명명된 속성 집합으로 표현되는 엔터티입니다. 속성은 일반적으로 개체 및 모든 엔터티(프로세스, 상태, 값...)의 필수 속성입니다. 범주는 객체보다 속성이지만 속성으로서는 변수입니다. 그런 다음 하위 범주 목록은 속성 변수 상태의 값 목록입니다.

또한 범주 계층 구조는 정적 관계 집합입니다. 계층 링크의 중첩을 반영합니다.

우리는 지식 기반의 형태로 제시된 세계의 그림에 대해 이야기하고 있습니다.

 
Реter Konow :

필드 수가 같은 개체는 다릅니다. 여기에 개념의 프로그램적 맥락이 아니라 철학적 맥락이 있습니다. 당신은 이것에 정통해야합니다. 철학적 용어로 개체는 명명된 속성 집합으로 표현되는 개체입니다. 속성은 일반적으로 개체 및 모든 엔터티(프로세스, 상태, 값...)의 필수 속성입니다. 범주는 객체라기보다 속성이지만 속성으로서는 변수입니다. 그런 다음 하위 범주 목록은 속성 변수 상태의 값 목록입니다.

또한 범주 계층 구조는 정적 관계 집합입니다. 계층 링크의 중첩을 반영합니다.

우리는 지식 기반의 형태로 제시된 세계의 그림에 대해 이야기하고 있습니다.

Peter, 당신이 이해하기에는 나는 일종의 완고한 철학자입니다. 그러나 이것은 전혀 그렇지 않습니다. 나는 OOP의 일반적인 개념에 맞는 완전히 제한된 개념 세트로 작업합니다.

우리가 세계의 그림에 대해 말하면 모든 생물을 대상이라고 할 수 있습니다. 각 생물은 자신이 할당될 수 있는 생물의 부류에 대해 명확하게 알려주는 고유한 특성 세트를 가지고 있습니다. 모든 생명체는 기본 속성을 가지고 있으며 변하지 않습니다. "기초"를 의미합니까?

 
Artyom Trishkin :

Peter, 당신이 이해하기에는 나는 일종의 완고한 철학자입니다. 그러나 이것은 전혀 그렇지 않습니다. 나는 OOP의 일반적인 개념에 맞는 완전히 제한된 개념 세트로 작업합니다.

우리가 세계의 그림에 대해 말하면 모든 생물을 대상이라고 할 수 있습니다. 각 생물은 자신이 할당될 수 있는 생물의 부류에 대해 명확하게 알려주는 고유한 특성 세트를 가지고 있습니다. 모든 생물은 기본 속성을 가지고 있으며 변경되지 않습니다. "기초"를 의미합니까?

네. 권리. 모든 개체에는 기본 속성이 있습니다. 그리고 각각은 어떤 범주에 속하며, 차례로 다른 범주에 중첩되고, 그 범주는 다음 범주에 있는 식으로 추상화의 맨 위에 속합니다. 특정 개체에서 해당 범주, 슈퍼카테고리 및 슈퍼 오버카테고리까지의 이 "경로"는 정적입니다. 그래서 카테고리 간의 불변 연결인 기반이라는 개념을 도입했습니다. 따라서 계층 구조를 구성하는 문제가 발생했습니다. 그러나 메모리와 컴퓨터 기능은 복잡하고 중첩된 구조를 구축하는 데 적합하지 않을 수 있습니다. 아마도 기술적 한계로 인해 이것이 효과적으로 구현되지 않을 것입니다.

 
Реter Konow :

네. 권리. 모든 개체에는 기본 속성이 있습니다. 그리고 각각은 어떤 범주에 속하며, 차례로 다른 범주에 중첩되고, 그 범주는 다음 범주에 있는 식으로 추상화의 맨 위에 속합니다. 특정 개체에서 해당 범주, 슈퍼카테고리 및 슈퍼 오버카테고리까지의 이 "경로"는 정적입니다. 그래서 카테고리 간의 불변 연결인 기반이라는 개념을 도입했습니다. 따라서 계층 구조를 구성하는 문제가 발생했습니다. 그러나 메모리와 컴퓨터 기능은 복잡한 중첩 구조를 구축하는 데 적합하지 않을 수 있습니다. 아마도 기술적 한계로 인해 이것이 효과적으로 구현되지 않을 것입니다.

생물.

동식물

아종

보다

가족

등.

그래서 당신이 원하는?

글쎄, 이것은 기본 개체 "Creature"에서 간단한 상속입니다.

그러나 더 깊이 들어갈 수 있습니다. 단세포 / 다세포가 있으며 이것은 모두 생활에 적용됩니다. 그러나 무생물도 있습니다. 이는 모두 기본 개체의 속성을 찾고 이미 상속해야 하는 작업에 따라 다릅니다.

만약 당신이 정말로 머리를 부딪친다면, 당신은 원자에 도달할 수 있고 기본적인 부모 개체를 찾기 위해 원자를 시작하고 구성요소로 나눌 수 있습니다(주의 깊게 - 핵분열 반응은 연쇄 반응이 될 수 있고, 당신은 세계의 절반을 파괴할 것입니다 :))

 
Реter Konow :

OOP는 객체와 그 속성을 어떻게 반복합니까?

예를 들어 다음과 같이 반복하고 있습니다.

귀하의 코드를 올바르게 이해했다면 다음은 OOP의 유사체입니다.

class MyClass
{
public:
   int _X_SIZE;
   color _this_state_color;
   
   int props[];
   
   void Redraw();
};

MyClass* G_CORE[obj_total];

//Цикл по объектам в поиске нужного значения конкретного свойства.

for ( int a1 = 0 ; a1 < obj_total; a1++ )
{
   if ( G_CORE[a1]._X_SIZE == THIS_SIZE )
   {
      G_CORE[a1]._this_state_color = clrWhite ;
      G_CORE[a1].Redraw();
   }
}

//Цикл по свойствам в поиске неверного значения

for ( int a1 = 0 ; a1 < prop_total; a1++ )
{
   if ( G_CORE[ELEMENT].props[a1] > Max_value )
   {
      G_CORE[ELEMENT].props[a1] = Max_value;
      G_CORE[ELEMENT].Redraw();
   }
}