Difference between revisions of "Step 6 (S-10694)"
(Create page for step id=10694) |
|||
Line 1: | Line 1: | ||
Step on Stepik: https://stepik.org/lesson/557/step/6 | Step on Stepik: https://stepik.org/lesson/557/step/6 | ||
− | + | [[File:Step_6_(S-10694)_1.png|border|800px]] | |
[00:00 - 00:14] для того чтобы оценить преимущества использования интерфейсов надо обсудить множественном наследовании все притворство разрешена множественным наследованием значит что 1 класс может унаследовать даже несколько базовых классов например мы можем определить класс и воркер | [00:00 - 00:14] для того чтобы оценить преимущества использования интерфейсов надо обсудить множественном наследовании все притворство разрешена множественным наследованием значит что 1 класс может унаследовать даже несколько базовых классов например мы можем определить класс и воркер |
Latest revision as of 12:48, 7 August 2017
Step on Stepik: https://stepik.org/lesson/557/step/6
[00:00 - 00:14] для того чтобы оценить преимущества использования интерфейсов надо обсудить множественном наследовании все притворство разрешена множественным наследованием значит что 1 класс может унаследовать даже несколько базовых классов например мы можем определить класс и воркер
[00:14 - 00:31] студенты рабочие и на основе этих классов создать производный класс который соответствует студентов и рабочем одновременно то есть студенты которые совмещают учебу с работой при этом при наследовании просто укажем базовые классы через запятую таким образом
[00:31 - 00:48] может на что ты не позволяет на основе базовых классов создать 1 класс который будет удовлетворять свойствам обоих этих базовых классов но все таки однако так у нас на сайте не может приводить к проблемам например в данном случае
[00:48 - 01:05] так как класса стьюдент его оба являются наследниками классов пошлин то внутри объекта класса вы отнесетесь будут храниться 2 экземпляра данных соответствующий просыпаешься и мало того что эти данные будут дублироваться так никто не гарантирует что нибудь
[01:05 - 01:22] что может привести к некорректному более того так как формально у класса есть 2 предка типа прошлом то при вызове какого то метод у нас на трассе у класса вот несет на то объекта класса выписывает
[01:22 - 01:39] будет неоднозначностей компьютер не сможет понять о каком то из предков то что вы хотите вызвать этот метод поэтому вы такой методом приведет к ошибке компиляции для того чтобы этого не случилось нужно следовать следующим правилам при наследовании
[01:39 - 01:56] стоит избегать наследование реализацией более чем от 1 класса а вместо этого использовать реализацию интерфейса то есть при наследовании можно наследовать реализацию от 1 класса ото всех оставшихся
[01:56 - 02:14] следовать интерфейс э как можно исправить данный пример можно например выделить интерфейс рабочего интерфейса оборках и реализовать класс рабочего как наследника класса прошлом
[02:14 - 02:32] реализующего интерфейс то есть мы наследуем реализацию от класса прошлом и будем поддерживать интерфейс издающейся то есть мы должны учить просфорки настаивают реализация только 1 класса паспорт
[02:32 - 02:51] класс тюрин можно определить так же как и раньше а класс унаследовать от класса то есть данном случае реализации и поддержать интерфейс да нам придется реализовать методы дважды 1 раз
[02:51 - 03:06] внутри класса word и другом случае 3 классов опасности однако это позволит вам избежать дублирования данных и неоднозначностей при вызове методов иностранных и по звуку то есть классный тюнинг в данной реализации будет наследовать только
[03:06 - 03:19] 1 экземпляр класса вообще множественного тянет достаточно сложная тема на требуют отдельного разговора и про умножить на это будет отдельно рассказано во 2 части курса