Step 4 (S-10685)

From Stepik Wiki
Revision as of 12:43, 7 August 2017 by Admin (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/556/step/4

Step 4 (S-10685) 1.png

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


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


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


[00:51 - 01:08] метод этот вид у квадрата должен работать так что при изменении 1 стороны менять 2 то есть если мы вызовем этот метод для квадрата то данный метод то влияет также и на высоту кадра таким образом мы получим неожиданное поведение


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


[01:25 - 01:30] естессно то что нужно поддерживать соотношение сторон 1 к 1