by Shinkarev T.

C# Polymorphism Implementation

This code showcases object-oriented programming principles: inheritance, polymorphism, and method overriding. Different family members override the base class method with their specific implementation.

FamilyWashDishes.cs

C#
using System;

class APerson {
    virtual public string WashDishes() {
        return "dry and wet";}
 }
 
class AWoman:APerson {
    override public string WashDishes() {
        return "wet";}
}

class AMan:APerson {
    override public string WashDishes() {
        return "dry";}
}

public class Program
{
    static string result;
        
     static void ViewModel(){
        Model();
        View();
       }
       
     static void Model(){
        APerson marina = new AWoman();
        APerson dmitry = new AMan();
        APerson[] family = new APerson[2];
        family[0]=marina;
        family[1]=dmitry;
        result = " ";
        for (int i = 0; i < 2; i++){
            result += family[i].WashDishes()+" ";
        }
       }
       
    static void View(){
        Console.WriteLine(result);
    }
    
    public static void Main(string[] args)
    {
        ViewModel();
    }
}