Sunday, 5 January 2025

CSharp C# Method Overriding in with a Practical Example and Coding Challenge

I've linked my YouTube video below, where I explain method overriding in C# with a practical example and a fun coding challenge at the end. Below the video, you'll find the actual code featured in the tutorial.

I have used virtual method in the example so i have used abstract class and method for the coding challenge solution. You can solve using both ways. Try solving the coding challenge yourself before checking out the solution provided at the end of this blog - it’s a fantastic way to test your understanding and sharpen your skills! Happy coding! 😊



Actual code featured in the youtube tutorial above


using System;

namespace Method_Overriding
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Engineer engineer = new Engineer();
            engineer.Work();

            FrontEndEngineer frontEnd = new FrontEndEngineer();
            frontEnd.Work();

            BackEndEngineer backEnd = new BackEndEngineer();
            backEnd.Work();

            DevOpsEngineer devOps = new DevOpsEngineer();
            devOps.Work();
        }
    }

    public class Engineer   //Parent class, base class, superclass
    {
        public virtual void Work()
        {
            Console.WriteLine("All engineers need to work");
        }
    }

    public class FrontEndEngineer : Engineer //Child class, derived class
    {
        public override void Work()
        {
            Console.WriteLine("Front end engineers creates the user interface of website and application");
        }
    }

    public class BackEndEngineer : Engineer    
    {
        public override void Work()
        {
            Console.WriteLine("Back end engineers creates and maintains the serverside of application");
        }
    }

    public class DevOpsEngineer : Engineer
    {
        public override void Work()
        {
            Console.WriteLine("Dev ops engineers maintains the companies software operation");
        }
    }
}



Method Overriding Coding Challenge Solution


using System;

namespace MethodOverridingExcerciseDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Remote TV = new Tv();
            TV.PressPlay();

            Remote MusicPlayer = new MusicPlayer();
            MusicPlayer.PressPlay();

            Remote VideoGameConsole = new VideoGameConsole();
            VideoGameConsole.PressPlay();
        }
    }

    //Remote considered as abstract and it will be our parent class
    public abstract class Remote
    {
        public abstract void PressPlay(); //abstract method has no body
    }

    public class Tv : Remote
    {
        public override void PressPlay()
        {
            Console.WriteLine("Starting a movie.");
        }
    }

    public class MusicPlayer : Remote
    {
        public override void PressPlay()
        {
            Console.WriteLine("Starting a song");
        }
    }

    public class VideoGameConsole : Remote
    {
        public override void PressPlay()
        {
            Console.WriteLine("Starting a game");
        }
    }
}

No comments:

Post a Comment