Hej,
Robię ćwiczenie na listach i mam problem bo po stworzeniu samochodu i dodaniu do niego silnika i nadwozia nie wiem jak sie "dobrać" do tych danych tak, żeby sobie wypisać wszystko co sie znajduje w stworzonym samochodzie?
To są moje początki w C# i w sumie to nawet nie jestem pewien czy dobrze sobie tworze te klasy :)
Będe wdzięczny za wszystkie sugestie :)
namespace Fabryka
{
abstract class Produkt
{
public int ID;
public virtual void Dodaj()
{
Random n = new Random();
ID = n.Next(Int32.MaxValue);
}
public abstract void Wypisz();
public abstract void Usun();
}
class Samochod:Produkt
{
public string Marka;
public string Model;
public decimal Cena;
public double RokProdukcji;
public override void Dodaj()
{
base.Dodaj();
Console.Write("Marka = ");
Marka = Console.ReadLine();
Console.Write("Model = ");
Model = Console.ReadLine();
Console.Write("Cena = ");
Cena = Convert.ToDecimal(Console.ReadLine());
Console.Write("Rok produkcji = ");
RokProdukcji = Convert.ToInt32(Console.ReadLine());
BazaSamochodow.S.Add(this);
}
public override void Wypisz()
{
Console.WriteLine(Marka + Model);
}
public override void Usun()
{
BazaSamochodow.S.Remove(this);
}
class Silnik : Samochod
{
public string RodzajSilnika;
public override void Dodaj()
{
Console.WriteLine("\nDodawanie silnika: ");
Console.Write("Rodzaj silnika = ");
RodzajSilnika = Console.ReadLine();
BazaSamochodow.S.Add(this);
}
public override void Wypisz()
{
Console.WriteLine(RodzajSilnika + Model + Marka );
}
public override void Usun()
{
}
}
class Nadwozie : Samochod
{
public string RodzajNadwozia;
public override void Dodaj()
{
Console.Write("Rodzaj nadwozia = ");
RodzajNadwozia = Console.ReadLine();
BazaSamochodow.S.Add(this);
}
public override void Wypisz()
{
// Console.WriteLine(RodzajNadwozia);
}
public override void Usun()
{
}
}
class BazaSamochodow
{
public static List<Produkt> S = new List<Produkt>();
public static void WypiszWszystkie()
{
foreach (var x in S)
{
Console.WriteLine(); // myślałem, że zrobie (x.ID + x.Marka + x.RodzajNadwozia) ale to by było za piękne - widzi tylko x.ID ;)
}
}