Step 2 (S-98748)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/24462/step/2

Step 2 (S-98748) 1.png

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


[00:18 - 00:37] какие сказал ах да еще и в нашем являются класс и класс у нас всего 5 описано у нас всего 5 вершин и у нас и серебра из dd из dev я потому что боятся создай себе наследоваться от е у нас есть ребра из а в были за все потому что а наследуется сердце отца


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


[00:54 - 01:09] класс object 3 класса на самом деле от него наследуются здесь ставить можешь простить определение те класс от которых мы нуждаемся проще всего назвать родителями или родительскими классами


[01:09 - 01:27] а вот родители и родители родителей и так далее они представляют собой предков нашего класса то есть на нашем рисунке на самом деле все классы кроме класса akg являются предками класса а и при этом никакой класс допустим не является приятным класса обжиг


[01:27 - 01:43] и при этом глаза не является при этом класс отца однако опять же формально на иски теорией газов мы говорим что дальше но появляется 5 вершина а если за весь путь вершину б например да является предком вершин класса а


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


Step 2 (S-98748) 2.png

[01:58 - 02:16] однако для того чтобы понизить классов кто является 5 король является наследником кого то проще всего использовать стандартные средства языка python а точнее функцию и саб класс функции subclass принимает 2 аргумента она прячется 1 аргумент 1 класс которому передали является наследником 2 класса


[02:16 - 02:33] когда говорю является наследником я имею в виду что если а является предком класса б на самом деле является наследником класса а 1 что стоит обратить внимание что если мы запустим а функцию и саб класс передохнем 1 класс качестве аргументов разве сейчас значение true


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


[02:52 - 03:10] является наследником класса обжиг поэтому мы действительно возвращает значение true и обжиг не является наследником класса потому что обжиг ничего не наследуются и по этому пути из него никуда нет однако куда более интересней чаще всего знать я для себя объект как экземпляр какого либо класса


Step 2 (S-98748) 3.png

[03:10 - 03:26] я там языке python есть функция из instance функции он также принимает 2 аргумента экземпляр класса а икс 1 аргумент функции автором аргументы беженцев на наш класс а функционировать отвечать на 1 простой вопрос является ли идти


[03:26 - 03:45] carol аргумента наследником 2 аргумента более важно что же мы имеем ввиду когда запускаем эту функцию грамм вызывая функцию и за каким то объектам с каким то типом мысль спрашивает интерпретатор можем ли мы использовать данный объект в качестве объекта данного типа давайте рассмотрим пример из предыдущего шага


Step 2 (S-98748) 4.png

[03:45 - 04:00] мы создавали описывали класс мои с которой наследовался от листа расширяя его функционал и всего лишь 1 дополнительным методом пускай мы создали экземпляр класса maurice икс далее мы хотим спросить у интерпретатора можем ли мы использовать икс в качестве обычного листа


[04:00 - 04:17] и мы это делаем с помощью функции instance мы могли бы запустить из instance икс лист движется значительно равно true и правда дело в том что мы расширили функциональность листа всего лишь 1 методом а во всем остальном наш объект их сбыть вести себя как лист поэтому мы можем использовать в качестве листа


[04:17 - 04:34] таким образом так как можно использовать для класса зависит лишь от класса над классов от которых он наследуется таким образом наш класс honestly с атласа в боится экземпляр класса ам сможет вести себя как экземпляр класса петерсон ты атласа ц для этого прежде всего нужно множественного наследования