Exemplo n.º 1
0
        //Durch IClonable geforderte Methode
        public object Clone()
        {
            //Automatisches Kopieren von den Wertetypen (Referenztypen müssen ebenfalls das Interface besitzen und
            //über die Clone()-Methode erstellt werden
            PKW neuerPKW = (PKW)this.MemberwiseClone();

            return(neuerPKW);
        }
        public List <PKW> ZeigeAllePKWSInGarageAn()
        {
            //https://docs.microsoft.com/de-de/dotnet/csharp/language-reference/operators/type-testing-and-cast
            List <PKW> pkwListe = new List <PKW>();

            foreach (Fahrzeug currentFahrzeug in fahrzeugListe)
            {
                if (currentFahrzeug is PKW)
                {
                    PKW pkw = (PKW)currentFahrzeug;
                    pkwListe.Add(pkw);
                }
            }
            //.....

            return(pkwListe);
        }
Exemplo n.º 3
0
 //Ein Kopierkonstruktor erstellt ein neues Objekt mit identischen Eigenschaftsbelegungen, wie das
 //Vorlagenobjekt, in dem die einzelnen Eigenschaften kompiert werden. Vorsicht bei Referenztypen, diese
 //benötigen ebenfalls einen Kopierkonstruktor, welcher hier aufgerufen werden muss.
 //Der Kopierkonstruktor ist eine Alternative zum IClonable-Interface
 public PKW(PKW alterPKW)
 {
     this.Name = alterPKW.Name;
     this.MaxGeschwindigkeit = alterPKW.MaxGeschwindigkeit;
     //...
 }