Este projeto demonstra o conceito de composição em Programação Orientada a Objetos (POO), utilizando a linguagem C#.
O objetivo é compreender como uma classe pode controlar totalmente o ciclo de vida de outra, sendo responsável pela sua criação e gestão.
A composição é uma relação forte entre classes onde uma classe contém e gere objetos de outra classe, assumindo a responsabilidade pela sua criação e destruição.
- Existe uma relação forte entre classes
- Uma classe “possui” outra classe
- O ciclo de vida dos objetos dependentes é controlado pela classe principal
- Se o objeto principal deixar de existir, os objetos dependentes também deixam de existir
- Representa relações do tipo “parte de” (ex: funcionário → dependentes)
O projeto contém duas classes principais:
Representa um dependente de um funcionário.
Atributos:
NomeIdade
Construtor:
Dependente(string nome, int idade)
Responsabilidade: Guardar os dados de cada dependente.
Representa um funcionário que pode ter dependentes.
Atributos:
Nomedependentes(Lista de Dependente)
Métodos:
AdicionarDependente(string nome, int idade)ListarDependentes()
Responsabilidade: Gerir o funcionário e todos os seus dependentes.
A classe Funcionario é responsável por criar e gerir os objetos do tipo Dependente.
Dependente d = new Dependente(nome, idade);
dependentes.Add(d);Neste caso:
✔ Os dependentes são criados dentro da classe Funcionario ✔ A lista de dependentes é controlada internamente ✔ Não existem dependentes fora do contexto do funcionário ✔ O ciclo de vida dos dependentes depende do funcionário ✔ Representa uma relação forte (composição)
O programa executa os seguintes passos:
- Criação de um funcionário
- Criação de dependentes através do funcionário
- Armazenamento dos dependentes na lista interna
- Listagem dos dependentes do funcionário
Dependentes de Carlos
-Ana, 10 anos
-Pedro, 8 anos
O que este exemplo demostra:
✔ A classe principal controla totalmente os objetos associados ✔ Existe dependência estrutural forte entre classes ✔ O modelo aproxima-se mais de situações reais onde existe “posse” e dependência
Projeto desenvolvido para fins pedagógicos na aprendizagem de Programação Orientada a Objetos em C#.