Difference between revisions of "Step 4 (S-10675)"

From Stepik Wiki
Jump to: navigation, search
(Create page for step id=10675)
 
 
Line 1: Line 1:
 
Step on Stepik: https://stepik.org/lesson/554/step/4
 
Step on Stepik: https://stepik.org/lesson/554/step/4
  
<img width="50%" src="https://ucarecdn.com/ed9b1775-4073-49e9-9a97-9dcbab5d38b5/">
+
[[File:Step_4_(S-10675)_1.png|border|800px]]
  
 
[00:00 - 00:15] особый вид виртуальных методов это чисто виртуальный метод или абстрактными то это виртуальный метод у которых отсутствует реализация давайте посмотрим как они могут использоваться пусть о базовых классов прошлом объявлен некоторой виртуальный метод
 
[00:00 - 00:15] особый вид виртуальных методов это чисто виртуальный метод или абстрактными то это виртуальный метод у которых отсутствует реализация давайте посмотрим как они могут использоваться пусть о базовых классов прошлом объявлен некоторой виртуальный метод
Line 9: Line 9:
  
  
<img width="50%" src="https://ucarecdn.com/42a2a8f7-6a58-4cfb-9b07-fea8305641e3/">
+
[[File:Step_4_(S-10675)_2.png|border|800px]]
  
 
[00:30 - 00:47] абстрактно в том смысле что нельзя создать экземпляр этого класса почему не предположим можно было бы создателем 1 класса например можно было бы определить переменную типа пишет тогда в этой переменной можно было бы вызвать
 
[00:30 - 00:47] абстрактно в том смысле что нельзя создать экземпляр этого класса почему не предположим можно было бы создателем 1 класса например можно было бы определить переменную типа пишет тогда в этой переменной можно было бы вызвать
Line 17: Line 17:
  
  
<img width="50%" src="https://ucarecdn.com/bdd913b6-5b3a-4239-a0b0-7fb4698c5ad3/">
+
[[File:Step_4_(S-10675)_3.png|border|800px]]
  
<img width="50%" src="https://ucarecdn.com/7257f50f-75d2-49ee-81e9-9a7699fee597/">
+
[[File:Step_4_(S-10675)_4.png|border|800px]]
  
 
[01:04 - 01:20] несмотря на то что сам класс является абстрактным и его интересовать нельзя можно наследоваться данного класса и определить абстрактный метода уже в классах наследниках например можно создать 2 производные классы стьюдент и профессор
 
[01:04 - 01:20] несмотря на то что сам класс является абстрактным и его интересовать нельзя можно наследоваться данного класса и определить абстрактный метода уже в классах наследниках например можно создать 2 производные классы стьюдент и профессор
  
  
<img width="50%" src="https://ucarecdn.com/0c2f27ee-e0d9-4365-9419-0aa932f09a33/">
+
[[File:Step_4_(S-10675)_5.png|border|800px]]
  
 
[01:20 - 01:37] и в каждом из этих классов определить метод руки повешен своим собственным образом ну например стьюдент будем возвращать в качестве рода деятельности студент а в профессора естественно профессор таким образом раз получил 2 различные реализации этого метода
 
[01:20 - 01:37] и в каждом из этих классов определить метод руки повешен своим собственным образом ну например стьюдент будем возвращать в качестве рода деятельности студент а в профессора естественно профессор таким образом раз получил 2 различные реализации этого метода
  
  
<img width="50%" src="https://ucarecdn.com/12fb4fef-a950-4f8a-adb7-18d15d12cd9c/">
+
[[File:Step_4_(S-10675)_6.png|border|800px]]
  
<img width="50%" src="https://ucarecdn.com/966ae668-6220-4e29-beeb-4b7ccd6213cf/">
+
[[File:Step_4_(S-10675)_7.png|border|800px]]
  
 
[01:37 - 01:52] несмотря на то что создавать за пиар класса то что нельзя можно создавать указатель и ссылке назначения типа просто это делается для того чтобы можно было работать с объектами производных классов
 
[01:37 - 01:52] несмотря на то что создавать за пиар класса то что нельзя можно создавать указатель и ссылке назначения типа просто это делается для того чтобы можно было работать с объектами производных классов
Line 45: Line 45:
  
  
<img width="50%" src="https://ucarecdn.com/f5942f36-ec9a-447f-aa30-7e0d01b9e96a/">
+
[[File:Step_4_(S-10675)_8.png|border|800px]]
  
<img width="50%" src="https://ucarecdn.com/58e8d23f-58d1-4e24-b05f-9e780822d0f5/">
+
[[File:Step_4_(S-10675)_9.png|border|800px]]
  
 
[02:39 - 02:55] класса который так же унаследовал от государства и также переопределяет метод occupation дали мы можем вызвать метод таки высшим и за счет того что данный метод является виртуальным будет вызван
 
[02:39 - 02:55] класса который так же унаследовал от государства и также переопределяет метод occupation дали мы можем вызвать метод таки высшим и за счет того что данный метод является виртуальным будет вызван
Line 55: Line 55:
  
  
<img width="50%" src="https://ucarecdn.com/6795487a-8dc8-45bb-97cf-fb84ad463e31/">
+
[[File:Step_4_(S-10675)_10.png|border|800px]]
  
 
[[Category:Steps]]
 
[[Category:Steps]]
 
[[Category:Виртуальные методы (L-554)|  4]]
 
[[Category:Виртуальные методы (L-554)|  4]]

Latest revision as of 12:39, 7 August 2017

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