Step 10 (S-97860)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/24461/step/10

Step 10 (S-97860) 1.png

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


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


[00:34 - 00:49] него есть атрибуции которая является конструктором класса который примечателен тем что мы пишем конструктор понимать не только салов на еще 2 аргумента и артиста а у нас есть метод текст который добавлять теги вот как вот так


[00:49 - 01:06] этот пример примечателен пара вещей во 1 мы определяем функции конструктора которые принимают не только сосны и другие аргументы а во 2 мы сейчас рассмотрим механизм того как же происходит сильно польской атрибутов чем 701 добавить в него теги с 1 целым 2


[01:06 - 01:22] наш метод сов aucdtect он сам или пытается добавить теги в атрибуции tax однако важно понимать что в конструкторе и нигде вот здесь мы явно не определяем tax у каждого из экземпляров


[01:22 - 01:38] поэтому так и не можешь найти он находит так в классе раз нашел его в классе то он пытается добавить туда теги то есть каждый раз когда мы вызываем taxi stand arx так как текст не найден земле


[01:38 - 01:56] он использует явно сонг tax таким образом наша теперь делать когда мы вызываем метод давайте в 1 и тот же объект а если мы по праву допустим посмотреть этот требующие 42 мы увидим что


[01:56 - 02:11] ну что вроде как не пытались добавить а только такие которые связаны со 2 песней все не нравились в 1 и тот же объект более полному для проекта с он текста явно имя так земным спейси сон


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


Step 10 (S-97860) 2.png

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


[02:47 - 03:02] и тогда каждый также которые мы добавили к песне не были сырные - песни было бы легко убедиться в том что 42 tax это на самом деле не то же самое что сонг 1 текст