Step 4 (S-10675)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/554/step/4

Step 4 (S-10675) 1.png

[00:00 - 00:15] особый вид виртуальных методов это чисто виртуальный метод или абстрактными то это виртуальный метод у которых отсутствует реализация давайте посмотрим как они могут использоваться пусть о базовых классов прошлом объявлен некоторой виртуальный метод


[00:15 - 00:30] слышал что в переводе означает род деятельности у которого отсутствует реализацию показать что это соответствует реализации использует специально обозначения равно 0 так как у данного класса объявлен метод без реализации абстрактными то сам класс становится абстрактным


Step 4 (S-10675) 2.png

[00:30 - 00:47] абстрактно в том смысле что нельзя создать экземпляр этого класса почему не предположим можно было бы создателем 1 класса например можно было бы определить переменную типа пишет тогда в этой переменной можно было бы вызвать


[00:47 - 01:04] метод пышет а у данного метода отсутствуют реализации то есть вызов прям покажет поэтому компилятор запрещается создавать экземпляры класса у которого есть абстрактный метод приведет к ошибке компиляции


Step 4 (S-10675) 3.png

Step 4 (S-10675) 4.png

[01:04 - 01:20] несмотря на то что сам класс является абстрактным и его интересовать нельзя можно наследоваться данного класса и определить абстрактный метода уже в классах наследниках например можно создать 2 производные классы стьюдент и профессор


Step 4 (S-10675) 5.png

[01:20 - 01:37] и в каждом из этих классов определить метод руки повешен своим собственным образом ну например стьюдент будем возвращать в качестве рода деятельности студент а в профессора естественно профессор таким образом раз получил 2 различные реализации этого метода


Step 4 (S-10675) 6.png

Step 4 (S-10675) 7.png

[01:37 - 01:52] несмотря на то что создавать за пиар класса то что нельзя можно создавать указатель и ссылке назначения типа просто это делается для того чтобы можно было работать с объектами производных классов


[01:52 - 02:08] при помощи 1 и того же года предположим у нас есть большой список людей состоящих например студентов и профессора тогда можно написать код в терминах указателя на базовый класс который обрабатывает


[02:08 - 02:23] различные классы ну нам случае студентов и профессор единым образом посмотрим как то можно было бы сделать пусть у нас есть некоторые функции спрошен которого отражает следующей человек в этом списке я эта функция будет возвращать указатель


[02:23 - 02:39] на теперь мы знаем что экземпляров типа прошлом это значит что указатели ссылается на объект либо либо типа профессор либо какого то другого


Step 4 (S-10675) 8.png

Step 4 (S-10675) 9.png

[02:39 - 02:55] класса который так же унаследовал от государства и также переопределяет метод occupation дали мы можем вызвать метод таки высшим и за счет того что данный метод является виртуальным будет вызван


[02:55 - 03:06] соответственно метод то есть соответствующий реализации этого метода из конкретного класса основываясь на типе того значение на которую указывает указатель


Step 4 (S-10675) 10.png