Olá, tudo bem?
Segue minha sugestão para a atividade 5 do desafio:
"5. Criar uma hierarquia de classes representando produtos eletrônicos, como Smartphone, Tablet e Laptop. Utilize herança e o conceito de métodos virtuais para implementar um método ExibirInformacoes que retorne informações específicas de cada produto."
Program.cs
using System.Runtime.InteropServices;
class Program
{
static void Main(string[] args)
{
Smartphone iphone = new("Iphone 8", 2000.00, "IOS");
Console.WriteLine(iphone.ExibirInformacoes());
}
}
Modelos/Eletronico.cs
class Eletronico
{
protected string Modelo { get; set; }
protected double Preco { get; set; }
public Eletronico(string modelo, double preco)
{
Modelo = modelo;
Preco = preco;
}
public virtual string ExibirInformacoes()
{
return $"Modelo: {this.Modelo} | Preço: {this.Preco} ";
}
}
Modelos/Laptop.cs
class Laptop : Eletronico
{
public string Processador { get; set; }
public Laptop(string modelo, double preco, string processador) : base(modelo, preco)
{
Processador = processador;
}
public override string ExibirInformacoes()
{
return $"{base.ExibirInformacoes()} | Processador: {Processador}";
}
}
Modelos/Smartphone.cs
class Smartphone : Eletronico
{
public Smartphone(string modelo, double preco, string sistemaOperacional) : base(modelo, preco)
{
SistemaOperacional = sistemaOperacional;
}
public string SistemaOperacional { get; set; }
public override string ExibirInformacoes()
{
return $"{base.ExibirInformacoes()}, SO: {this.SistemaOperacional}";
}
}
Modelos/Tablet.cs
class Tablet : Eletronico
{
public Tablet(string modelo, double preco, string tipoDeTela) : base(modelo, preco)
{
TipoDeTela = tipoDeTela;
}
public string TipoDeTela { get; set; }
public override string ExibirInformacoes()
{
return $"{base.ExibirInformacoes()} | Tipo de tela: {TipoDeTela}";
}
}