Одним из принципов в SOLID является принцип перестановки Лискоу, или Liskov substitution.
Кто-нибудь может мне показать как реализовать этот принцип на практике? А то на теории понимаю, что в метод могут передаваться как классы родители, так и все их наследники, но как реализовать это всё - без понятия...
Вот 2 класса:
class Parent
{
public string Field1 { get; set; }
public int Field2 { get; set; }
public char Field3 { get; set; }
public double Field4 { get; set; }
public Parent()
{
Field1 = "Parent";
Field2 = 50;
Field3 = 'P';
Field4 = 50.0;
}
}
class Child : Parent
{
public Child()
{
Field1 = "Child";
Field2 = 20;
Field3 = 'C';
Field4 = 20.0;
}
}</pre>
А вот реализация метода и его вызов в Мейне:
public class Program
{
static void Method(Parent par)
{
Console.WriteLine($"This is a {par.GetType().Name.ToString()}");
}
public static void Main()
{
Child ch = new Child();
Parent par = new Parent();
Method(ch);
Method(par);
Console.ReadKey();
}
}</pre>