Step 6 (S-97861)

From Stepik Wiki
Jump to: navigation, search

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

Step 6 (S-97861) 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] наш метод слов от texas на самом деле пытается добавить теги в атрибуции 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 6 (S-97861) 2.png

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


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