Orientação a objetos: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
Linha 215:
== Fenômenos e conceitos ==
Metáforas são recorrentes em computação: mensagens, inteiros, etc.
* Um fenômeno é algo que possui uma existência definida na realidade ou na mente, é qualquer coisa real em si.
* Um conceito é uma coleção de fenômenos com propriedades em comum. Os atributos característicos de um conceito são:
Linha 225:
** '''Extensão''': a coleção de fenômenos do conceito.
Muitas classes representam conceitos da vida real pois muitos programas administram coisas do mundo real. No entanto, é comum que se faça uso também de conceitos imaginados (e.g. uma tabela hash). Ambos estes fatos favorecem a utilização da lógica fuzzy, mas na prática conceitos aristotélicos são convenientes para a construção de classes.
O estabelecimento de conceitos a partir de conjuntos de fenômenos é chamado de '''classificação'''. A intenção sendo as propriedades definidoras que são compartilhadas dentre os fenômenos do conceito. A '''exemplificação''' é o oposto da classificação: um subconjunto da extensão do conceito.
'''Agregar''' é formar um conceito que possui um número de partes (outros conceitos), i.e. é formar uma [[holonímia]]. '''Decompor''' é partir um conceito em um número de partes (outros conceitos), é formar
[[meronímias]]. A intenção de um conceito agregado pode ser a intersecção das intenções de suas partes, pode ser a soma de suas intenções, ou pode possuir propriedades adicionais (em que o todo é mais que a soma das partes). Este último caso é útil na escrita de sistemas que envolvem sistemas complexos, e.g. para otimização bioinspiradas como por [[Colônia de formigas (otimização)|colonia de formigas]], ou por [[Optimização por enxame de partículas|enxame de partículas]].
'''Generalização''' é formar um conceito mais amplo a partir de um (ou mais) conceitos mais estritos, é formar um [[hiperônimo]]. '''Especialização''' é formar um conceito mais estrito a partir de um conceito mais geral, é formar um [[hipônimo]]. A extensão de uma especialização é um subconjunto de sua generalização. A intenção de uma especialização (aristotélica) inclui a intenção de sua generalização. A especialização de um conceito é naturalmente expressa como herança de uma classe por outra, ou pela instanciação de uma classe.
== Documentação ==
|