Cześć : )
Proszę o cierpliwość i wyrozumiałość. C# uczę się drugi tydzień. Korzystam z kursów online, filmików, tutoriali zaś podstawowym źródłem mojej wiedzy są pozycje: C# w pigułce oraz C# Rusz Głową. Dopiero zaczynam.
Mam duży problem w temacie polimorfizmu. Problem rozbija się przede wszystkim o tworzenie instancji nowej klasy.
class BaseClass
{
public void Method1()
{
Console.WriteLine("Base - Method1");
}
}
class DerivedClass : BaseClass
{
public void Method2()
{
Console.WriteLine("Derived - Method2");
}
}
Teraz przechodzę do tworzenia instancji tych klas.
class Program
{
static void Main(string[] args)
{
BaseClass bc = new BaseClass();
DerivedClass dc = new DerivedClass();
BaseClass bcdc = new DerivedClass();
bc.Method1();
dc.Method1();
dc.Method2();
bcdc.Method1();
}
// Output:
// Base - Method1
// Base - Method1
// Derived - Method2
// Base - Method1
}
Moje pytanie są następujące:
Jaki jest sens tego zapisu:
BaseClass bcdc = new DerivedClass();
Tworzę obiekt w klasie DerivedClass jednak jego referencja będzie pochodzić z klasy bazowej BaseClass ? Jeśli tak, to po co mam tak robić? Nie mógłbym od razu stworzyć obiektu i jego referencji w tej samej klasie?
Z góry dziękuję za odpowiedź.