Jak zawrzeć wywołanie obiektu w innej klasie - kompozycja?

Odpowiedz Nowy wątek
2015-12-02 18:31
Świetny Pomidor2
0

Chciałbym konstruktorem w klasie Samochód stworzyć obiekt klasy Radio. Jednak nie wiem czy to robię dobrze. W c++ robiło się to w liście inicjalizacyjnej, jak to wygląda w c#?

class Radio
{
    private string kolor;

    public Radio(string kolor)
    {
        this.kolor = kolor;
    }
}

class Samochod
{
    private int licznik;

    public Samochod(string kolor, int licznik)
    {
        this.licznik = licznik;
        Radio radio = new Radio(kolor);
    }
} 

Pozostało 580 znaków

2015-12-02 18:41
0
class Samochod
{
    private int licznik;

    Radio radio = new Radio(kolor);

    public Samochod(string kolor, int licznik)
    {
        this.licznik = licznik;
    }
}  

lub

class Samochod
{
    private int licznik;

    Radio radio;

    public Samochod(string kolor, int licznik)
    {
        this.licznik = licznik;
        radio = new Radio(kolor);
    }
}  
edytowany 2x, ostatnio: Shakaz, 2015-12-02 18:43

Pozostało 580 znaków

2015-12-02 18:49
2

A czemu po prostu nie przekazać obiekt radio w konstruktorze?

class Samochod
   {
      private readonly Radio radio;
      private int licznik;

      public Samochod(Radio radio, int licznik)
      {
         this.radio = radio;
         this.licznik = licznik;
      }
   }

Jak Radio będzie przyjmowało dwa parametry w konstruktorze to będziesz je też dopisywał do konstruktora klasy Samochod?


Yubby dibby dibby dibby dibby dibby dibby dum..
edytowany 1x, ostatnio: DibbyDum, 2015-12-02 18:50

Pozostało 580 znaków

2015-12-02 18:50
Świetny Pomidor2
0

ok dzięki, z c++ mi się trochę myli bo tam lista inicjalizacyjna była.

Pozostało 580 znaków

2015-12-04 19:03
0
Shakaz napisał(a):

class Samochod
{
private int licznik;
Radio radio = new Radio(kolor);

public Samochod(string kolor, int licznik)
{
    this.licznik = licznik;
}

}



Jak to ma działać?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0