От Чайтаня Сингх | Пила под: Научете C++

детски клас

Наследяването е една от характеристиките на системата за обектно ориентирано програмиране (OOP), тя позволява на дъщерния клас да придобие свойствата (членовете на данните) и функционалността (функциите на членовете) на родителския клас.

Какво е детски клас?
Клас, който наследява друг клас, е известен като детски клас, известен е също като производен клас или подклас.
Какво е родителски клас?
Класът, който се наследява от друг клас, е известен като родителски клас, супер клас или основен клас.

Синтаксис на наследяване

Какви са предимствата от използването на наследяване в програмирането на C ++

Основните предимства на наследството са код за повторна употреба и четливост. Когато дъщерният клас наследява свойствата и функционалността на родителския клас, не е необходимо да пишем същия код отново в детски клас. Това улеснява повторното използване на кода, кара ни да пишем по-малко код и кодът става много по-четлив.

Да вземем a пример от реалния живот за да разберем това: Нека приемем, че Човекът е клас, който има свойства като височина, тегло, цвят и т.н. и функционалност като ядене (), спане (), сънуване (), работа () и т.н.
Сега искаме да създадем мъжки и женски клас, тези класове са различни, но тъй като и мъжкият, и женският са хора, те споделят някои общи свойства и поведения (функционалност), така че те могат да наследят тези свойства и функционалност от човешкия клас, а почивката може да бъде записана в тяхната клас поотделно.
Този подход ни кара да пишем по-малко код, тъй като и двата класа са наследили няколко свойства и функции от базовия клас, поради което не е необходимо да ги презаписваме. Освен това това улеснява четенето на кода.

Пример за наследяване

Преди да обсъдим видовете наследство, нека вземем пример:
Тук имаме два класа Teacher и MathTeacher, класът MathTeacher наследява класа Teacher, което означава, че Teacher е родителски клас, а MathTeacher е детски клас. Детският клас може да използва свойството collegeName на родителския клас.

Друг важен момент, който трябва да се отбележи е, че когато създаваме обекта на детски клас, той извиква конструктора на детски клас, а конструкторът на детски клас автоматично извиква конструктора на базовия клас.

Изход:

Видове наследяване в C++

1) Единично наследство
2) Многостепенно наследяване
3) Множествено наследяване
4) Йерархично наследяване
5) Хибридно наследяване

Единично наследство

В единично наследяване един клас наследява точно един клас.
Например: Да кажем, че имаме клас A и B

Пример за единично наследяване:

2) Многостепенно наследяване

При този тип наследяване един клас наследява друг детски клас.

Пример за многостепенно наследяване:

Множествено наследяване

При множествено наследяване клас може да наследи повече от един клас. Това означава, че при този тип наследяване един единствен клас може да има множество родителски класове.
Например:

Пример за множествено наследяване:

4) Йерархично наследяване

При този тип наследяване един родителски клас има повече от един детски клас. Например:

Пример за йерархично наследяване:

5) Хибридно наследяване

Хибридното наследяване е комбинация от повече от един тип наследяване. Например връзка дете и родител, която следва множествено и йерархично наследяване, и двете може да се нарече хибридно наследяване.