March 17, 2020

Наследование

Всем привет! Сегодня предлагаю обсудить пожалуй самую важную и интересную вещь в ООП, а именно наследование.

В целом, благодаря наследованию один класс может унаследовать функциональность другого класса( а именно методы, поля и т.д. ).

Допустим у нас есть класс Pets, который принимает и устанавливает значение( в данном случае породу ).

class Pets
    {
        private string breed;
        
        public string Breed
        {
            get
            {
                return breed;
            }
            
            set
            {
                breed = value;
            }
        }
    }

Но нам нужен класс Muska, который будет так же принимать и устанавливать породу, так как Муська это домашний питомец. Переписывать функционал Pets было бы не рационально, поэтому его нужно унаследовать от класса Pets( сделать производным )

class Muska : Pets
    {
    
    }

Унаследовать класс от другого можно при помощи следующей конструкции:

[ Производный класс ] : [ Родитель ]

Родителем или суперклассом называют класс от которого наследуется другой

Теперь класс Muska, будет обладать теми же методами и полями, что и Pets

class Program
    {
        static void Main(string[] args)
        {
            Pets dog = new Pets();
            dog.Breed = "Dog";
            
            Muska muska = new Muska();
            muska.Breed = "Cat";
            
            Console.WriteLine(dog.Breed);
            Console.WriteLine(muska.Breed);
        }
    }

Как видите, мы указали нашей Муське породу.

На этом все, если остались вопросы - обращайтесь в лс

Удачи, программисты!