Para este desafio, você precisará usar seus conhecimentos adquiridos no módulo de orientação a objetos, da trilha .NET da DIO. Desafio realizado utilizando a linguagem c#
Você é responsável por modelar um sistema que trabalha com celulares. Para isso, foi solicitado que você faça uma abstração de um celular e disponibilize maneiras de diferentes marcas e modelos terem seu próprio comportamento, possibilitando um maior reuso de código e usando a orientação a objetos.
Você precisa criar um sistema em .NET, do tipo console, mapeando uma classe abstrata e classes específicas para dois tipos de celulares: Nokia e iPhone. Você deve criar as suas classes de acordo com o diagrama abaixo:
- A classe Smartphone deve ser abstrata, não permitindo instanciar e servindo apenas como modelo.
- A classe Nokia e Iphone devem ser classes filhas de Smartphone.
- O método InstalarAplicativo deve ser sobrescrito na classe Nokia e iPhone, pois ambos possuem diferentes maneiras de instalar um aplicativo.
O código está pela metade, e você deverá dar continuidade obedecendo as regras descritas acima, para que no final, tenhamos um programa funcional. Procure pela palavra comentada "TODO" no código, em seguida, implemente conforme as regras acima.
Status do desafio:
✅Finalizado✅
A tabela abaixo mostra quais foram as alterações feitas em cada classe, caso queira ver o código, basta clicar no nome da classe que deseja ver.
Classe | Mudanças |
---|---|
Smartphone | Implementado as propriedas que faltavam, todas com o modificador de acesso protected para que sejam alteradas apenas pelas classes que herdaram;No construtor foi passado os parametros para instanciar a classe. |
Nokia | Realizado a herança dela com a classe Smartphone ;No metodo Instalar Aplitcativo foi realizado o override para atender ao objetivo da classe |
Iphone | Realizado a herança dela com a classe Smartphone ;No metodo Instalar Aplitcativo foi realizado o override para atender ao objetivo da classe |
Program | Foi criado instancias da classe Nokia e da classe Iphone , para então realizar os testes chamando os metodos dessas classes;O resultado é mostrado no terminal, como na imagem abaixo: ![]() |