nieznane użycia interfejsów

0
IAnimal oAnimal = oAnimalFactory.CreateAnimalObject(Animals.Dog); 
 public void Construct(IBuilder builder)
    {
        builder.BuildOilColors();
        builder.BuildBrush();
        builder.BuildCanvas();
        builder.BuildEasel();
    }

O co chodzi z tymi interfejsami w tych dwóch przykładach? Czy zapis "IAnimal oAnimal" jest jakimś rzutowaniem? Ma to jakąś nazwę?

0

Pytasz czym są interfejsy w C#?

Interfejs to coś na wzór abstrakcyjnej klasy z samymi publicznymi abstrakcyjnymi metodami. Obiekt dziedziczący po takiej klasie możesz do niej zrzutować. Tak samo obiekt implementujący dany interfejs możesz przedstawić poprzez referencję tego typu.

3

Dziedziczenie to esencja obiektowości. Zamiast new Merkury().getMerkury() robisz po prostu hierarchię dziedziczenia z prawdziwego zdarzenia i robisz metody, które operują na ogólnych klasach. Zamiast robić kaskady ifów, podmieniasz implementacje.

3

Czy zapis "IAnimal oAnimal" jest jakimś rzutowaniem
nie, jest to utworzenie zmiennej o nazwie oAnimal typu IAnimal. Podobnie jak w int i.

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