Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Composição de Classe e Instância de Classe

Qual a diferença de Composição de Classe para Instanciar uma classe dentro de uma classe? Seria a mesma coisa? Porque na composição de classe cria-se uma propriedade com o tipo da classe.

1 resposta
solução!

Beatriz,

Fui pesquisar, pois não sabia sobre "composição" para explicar. Pelo que eu entendi, a herança usa-se o ": inherit" (herdar). Na composição, apenas chama-se as classes relacionadas, NÃO tem palavra-chave especial para invocar, sendo assim, digamos, puramente técnico o conceito. Os atributos NÃO são "herdados", mas, talvez eu possa dizer "usados".

A instância é a própria chamada do modelo, o objeto propriamente dito.

Frase clássica: "Objeto é uma instância de uma classe".

Achei um texto do José Carlos Macoratti excelente, recomendo ler e montar o exemplo proposto:

==========================================================

C# - Herança ou Composição ?

As classes e objetos criados por herança são fortemente acoplados porque alterar a classe base ou classe pai em um relacionamento de herança corre o risco de quebrar seu código.

As classes e objetos criados por meio da composição são fracamente acoplados, o que significa que você pode alterar mais facilmente as partes do componente sem quebrar seu código.

Quando devo usar herança ?

Na programação orientada a objetos, podemos usar a herança quando sabemos que existe um relacionamento do tipo "é um" entre uma classe filha e sua classe pai.

Quando devo usar Composição ?

Na programação orientada a objetos, podemos usar a composição nos casos em que um objeto "possui" (ou faz parte de) outro objeto. Alguns exemplos seriam:

https://www.macoratti.net/20/05/c_compoher1.htm

==========================================================

Por favor, leia também:

==========================================================

O que é um objeto de uma classe?

Objeto é uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos. Exemplo de objetos da classe Humanos: João, José, Maria. Atributos são características de um objeto.

Qual a diferença de uma classe para um objeto?

A classe é um modelo, um planejamento, tal como a maquete de uma casa. O objeto seria a classe materializada, ou seja, um objeto com os devidos atributos qualificados: uma casa azul, térrea, com garagem, construída em 2015, com valor venal de $ 100.000,00, com área construída de 60m2, etc.

https://todasasrespostas.pt/o-que-e-um-objeto-de-uma-classe#:~:text=Objeto%20%C3%A9%20uma%20inst%C3%A2ncia%20de%20uma%20classe.%20Um,de%20objetos%20da%20classe%20Humanos%3A%20Jo%C3%A3o%2C%20Jos%C3%A9%2C%20Maria.

==========================================================

  • EXTRA:

Tudo isso nos leva a duas palavras muito importantes: ACOPLAMENTO e COESÃO.

==========================================================

O que é acoplamento de software?

2022-02-10

O que é alta coesão e baixo acoplamento?

No design de software, alta coesão significa que a classe deve fazer uma coisa e uma coisa muito bem. A alta coesão está intimamente relacionada ao princípio da responsabilidade única . Um baixo acoplamento sugere que a classe deve ter menos dependências possíveis.

https://fluxodeinformacao.com/biblioteca/artigo/read/93056-o-que-e-acoplamento-de-software#question-3

==========================================================

Procure buscar sempre ALTA coesão e BAIXO acoplamento. Desta forma a equipe de manutenção de software irá te agradecer sempre.

[]'s,

Fabio I.