Uma pergunta para os especialistas do OOP. - página 2

 
Реter Konow:

No OOP, um "objeto" é uma referência a uma classe na qual seus campos (propriedades) são declarados. Entendo um objeto como um conjunto de propriedades numeradas, cada uma das quais é uma célula em uma matriz. Essa é a diferença.

As perguntas não estão relacionadas com o tema das interfaces gráficas. Há muito tempo eu tenho contornado bibliotecas gráficas e não tenho nada para procurar lá. Mas, agora estou interessado no tema da IA, e isto coloca novos desafios e perguntas.

Em seguida, pegue uma biblioteca pronta para uso, faça amigos com mql e vá em frente. Por que reinventar a roda?

 
Artyom Trishkin:
Explique o que você quer dizer com "...É uma hierarquia estática. Constante e imutável"?
Bem, qualquer categoria tem um certo conjunto estático de conceitos. Ela pode ser complementada, mas sua "fundação" é invariável. Tais conjuntos formam uma hierarquia "estática".
 
Реter Konow:

No OOP, um "objeto" é uma referência a uma classe na qual seus campos (propriedades) são declarados. Entendo um objeto como um conjunto de propriedades numeradas, cada uma das quais é uma célula em uma matriz. Essa é a diferença.

Sua decisão, mas você está introduzindo a noção de ambigüidade na terminologia desde o início

Artyom Trishkin:
Explique o que você quer dizer com "...E estamos falando de uma hierarquia estática. Constante e imutável"?

)))))

ele tem sua própria terminologia e nós estamos tocando "adivinhe a música".

SZZY: Eu mudei de emprego 5 vezes, mas depois da segunda vez percebi que para entrar na equipe rapidamente, você precisa aprender a se comunicar na mesma língua de seus colegas, ou seja, para poder fazer uma pergunta usando termos técnicos geralmente aceitos antes - esta é a mais eficaz, caso contrário você receberá uma resposta "aqui estão os manuais, vá lê-los"))

 
Реter Konow:
Bem, qualquer categoria tem um certo conjunto estático de conceitos. Ela pode ser reabastecida, mas sua "base" não sofreu alterações. Tais conjuntos de conceitos estáticos formam uma hierarquia "estática".

Você quer dizer que você tem um objeto com um número fixo de campos e que precisa criar uma hierarquia de tais objetos? Mas qualquer objeto tem um número estático de campos (desde que você mesmo não altere o número deles no código de classe).

Eu não entendo bem o que você quer dizer. Categoria - o que você quer dizer? "Fundação"- o que você quer dizer?

 
Igor Makanu:

seu caso, mas você está introduzindo uma noção de ambigüidade na terminologia desde o início

)))))

Ele tem sua própria terminologia, e estamos tocando "adivinhe a melodia".

SZS: Eu mudei de emprego 5 vezes, mas depois da segunda vez percebi que para entrar na equipe rapidamente, você precisa aprender a se comunicar na mesma língua que seus colegas, ou seja, ser capaz de fazer uma pergunta usando termos técnicos previamente acordados - isso é mais eficaz, caso contrário você recebe a resposta "aqui estão os manuais, vá lê-los")))

Veja - se estamos falando de hierarquia de objetos estáticos, então uma matriz associativa está em ordem. E se falarmos de alguma outra estática de eu não sei o que mais, então..., então, isso implora uma pergunta explicativa para Peter.
 
Artyom Trishkin:

Você quer dizer que você tem um objeto com um número fixo de campos e que precisa criar uma hierarquia de tais objetos? Mas qualquer objeto tem um número estático de campos (até que você mesmo os acrescente em código de classe).

Eu não o sigo muito bem. Categoria - o que você quer dizer? "Fundação - o que você quer dizer?

Um objeto com um número fixo de campos é diferente. Há aqui um contexto filosófico, não programático, de conceitos. Você deve ser bem versado nisto. Na visão filosófica, um Objeto é uma entidade representada como um conjunto nomeado de propriedades. Uma propriedade é um atributo obrigatório de um Objeto e geralmente de qualquer entidade (processo, estado, valor...). Uma categoria é uma propriedade e não um objeto, e como uma propriedade é uma variável. Em seguida, a lista de suas subcategorias é uma lista de seus valores em status de propriedade variável.

Além disso, a hierarquia de categorias é um conjunto estático de relações. Ela reflete o aninhamento dos vínculos na hierarquia.

É uma imagem do mundo, representada como uma base de conhecimento.

 
Реter Konow:

Um objeto com um número imutável de campos é diferente. Existe um contexto filosófico e não programático para os conceitos aqui. Você deve ser bem versado nisto. Filosoficamente, um Objeto é uma entidade representada como um conjunto nomeado de propriedades. Uma propriedade é um atributo obrigatório de um Objeto e geralmente de qualquer entidade (processo, estado, valor...). Uma categoria é uma propriedade e não um objeto, e como uma propriedade é uma variável. Em seguida, a lista de suas subcategorias é uma lista de seus valores em status de propriedade variável.

Além disso, a hierarquia de categorias é um conjunto estático de relações. Ela reflete o aninhamento dos vínculos na hierarquia.

É uma imagem do mundo apresentada como uma base de conhecimento.

Peter, você me faz uma espécie de filósofo endurecido. No entanto, isto não é de modo algum verdade. Eu opero com um conjunto absolutamente limitado de noções, que se encaixam no conceito geral do OOP.

Se falamos sobre a imagem do mundo, qualquer ser vivo pode ser chamado de objeto. Cada ser vivo tem seu próprio conjunto de qualidades, que nos dizem inequivocamente a que classe de seres vivos ele pode ser referido. Mas todos os seres vivos têm propriedades básicas, e são imutáveis - é isso que você quis dizer com "fundação"?

 
Artyom Trishkin:

Peter, você me faz uma espécie de filósofo endurecido. No entanto, isto não é de modo algum verdade. Eu opero com um conjunto muito limitado de conceitos que se encaixam no conceito geral do OOP.

Se falamos sobre a imagem do mundo, qualquer ser vivo pode ser chamado de objeto. Cada ser vivo tem seu próprio conjunto de qualidades, que nos dizem inequivocamente a que classe de seres vivos ele pode ser referido. Mas todos os seres vivos têm propriedades básicas, e são imutáveis - é isso que você quis dizer com "fundação"?

Sim, isso mesmo. Todo objeto tem propriedades fundamentais. E cada um pertence a uma categoria, que por sua vez está aninhada em outra categoria, e aquela na categoria seguinte, e assim por diante, até o topo da abstração. Este "caminho" de qualquer Objeto em particular para sua categoria, supra-categoria e supra-categoria é estático. Portanto, introduzi a noção de uma fundação, ou seja, as relações imutáveis entre categorias. Daí surgiu a tarefa de construir uma hierarquia. Mas talvez a memória e a capacidade dos computadores não sejam ideais para a construção de estruturas complexas e aninhadas. Talvez as limitações técnicas não permitam que isto seja implementado eficientemente.

 
Реter Konow:

Sim. Certo. Todo objeto tem propriedades fundamentais. E cada objeto pertence a uma categoria, que por sua vez está aninhada em outra categoria, que por sua vez está aninhada na categoria seguinte, e assim por diante, até o topo da abstração. Este "caminho" de qualquer Objeto em particular para sua categoria, supra-categoria e supra-categoria é estático. Portanto, introduzi a noção de uma fundação, ou seja, as relações imutáveis entre categorias. Daí surgiu a tarefa de construir uma hierarquia. Mas talvez as capacidades de memória e de computador não sejam ideais para a construção de estruturas aninhadas complexas. Talvez as limitações técnicas não permitam que isto seja implementado eficientemente.

Criatura.

Flora/Fauna

Subespécie

Espécie

Família

etc.

É isso que você quer?

Bem, é uma simples herança da entidade base "Entidade".

Mas você pode ir mais fundo do que isso - existem unicelulares/multicelulares, e tudo isso se aplica aos seres vivos. Mas há também os não-vivos. Tudo depende das tarefas que você precisa para encontrar propriedades de um objeto básico, e herdar delas.

Se você realmente bater com a cabeça, pode ir até os átomos e começar a dividi-los em componentes em busca de um objeto pai fundamental (cuidado - uma reação de fissão pode se tornar uma reação em cadeia, e você destruiria metade do mundo :))

 
Реter Konow:

Como você faz um loop OOP sobre os objetos e suas propriedades?

Por exemplo, eu executo um loop da seguinte forma:

Se eu entendi seu código corretamente, aqui está sua contraparte 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();
   }
}