Size: a a a

QA — Автоматизация

2020 September 23

ГК

Глеб Казаркин... in QA — Автоматизация
спасибо
источник

A

Alexey🐾 in QA — Автоматизация
Miroslava Sivachenko
Спасибо, тут все понятно.  А если по принципами ООП?
Попробую продолжить. Немножко усложним, что в каждой коробке есть листик с описанием того, что там лежит.

Абстракция, когда вы подписали одну из коробок "для кухни", тем самым превратив её в объект и обозначив его характеристики.

Инкапсуляция - вам без разницы, как всё там лежит, у вас есть листик(интерфейс) через который Вы получите ту или иную посуду.

Полиморфизм - у вашей кастрюльки может быть не только возможность варить борщ, но и тушить овощи, греть воду, собирать дождеву воду и так далее.

Наследование - положив тряпочку с неизвестными параметрами в коробку "Для кухни" она наследует её характеристики и методы(использовать в кухне), при этом может добавлять свои методы(если нужно,то и зал протрём)
источник

MK

Mem Kekovich in QA — Автоматизация
=)))
Зачем нужна абстракция, когда я могу просто отнаследовать от класса в котором опишу все базовые методы )
Что решает абстракция? Ничего, она только ограничивает, причём безбожно. Потому в интерфейсы (про джаву) и завезли дефолт методы )
источник

MK

Mem Kekovich in QA — Автоматизация
Да и мало где есть множественное наследование :) отсюда и проблемы (дада можно говорить про плохую архитектуру)
источник

S1

Sceptic 1234 in QA — Автоматизация
А инкапсуляция зачем нужна? Так-то она тоже только ограничивает)
источник

VM

Vova Moskalenko in QA — Автоматизация
Mem Kekovich
=)))
Зачем нужна абстракция, когда я могу просто отнаследовать от класса в котором опишу все базовые методы )
Что решает абстракция? Ничего, она только ограничивает, причём безбожно. Потому в интерфейсы (про джаву) и завезли дефолт методы )
это звучит как "зачем нужен Х? Он только ограничивает, причем безбожно. Потому в Y добавили возможность делать Х"
источник

A

Alexey🐾 in QA — Автоматизация
Согласен, давайте сразу выводить код в ьраузер  пусть юзер сам пишет что хочет увидеть
источник

A

Alexey🐾 in QA — Автоматизация
А то гугл ограничивает
источник

A

Alexey🐾 in QA — Автоматизация
Я хочу единорогов на странице, а они мне надпись свою гугол
источник

MS

Miroslava Sivachenko in QA — Автоматизация
Alexey🐾
Попробую продолжить. Немножко усложним, что в каждой коробке есть листик с описанием того, что там лежит.

Абстракция, когда вы подписали одну из коробок "для кухни", тем самым превратив её в объект и обозначив его характеристики.

Инкапсуляция - вам без разницы, как всё там лежит, у вас есть листик(интерфейс) через который Вы получите ту или иную посуду.

Полиморфизм - у вашей кастрюльки может быть не только возможность варить борщ, но и тушить овощи, греть воду, собирать дождеву воду и так далее.

Наследование - положив тряпочку с неизвестными параметрами в коробку "Для кухни" она наследует её характеристики и методы(использовать в кухне), при этом может добавлять свои методы(если нужно,то и зал протрём)
Ну спасибо, точно не так как в многих статьях 😁
источник

A

Alexey🐾 in QA — Автоматизация
Miroslava Sivachenko
Ну спасибо, точно не так как в многих статьях 😁
Как мог, хоть и неточно всё и шатко.😁
источник

A

Alexey🐾 in QA — Автоматизация
Я б еще константы отменил. Вот сделать базовый класс с вычислением pi, а наследуя менять его как хочу и заново вычислять
источник

A

Alexey🐾 in QA — Автоматизация
Mem Kekovich
Да и мало где есть множественное наследование :) отсюда и проблемы (дада можно говорить про плохую архитектуру)
А, вспомнил. А как быть с квадратом и прямоугольником. Сейчас начнём спорить кто от кого должен наследовать
источник

KV

Ksenia Vorobyeva in QA — Автоматизация
Alexey🐾
А, вспомнил. А как быть с квадратом и прямоугольником. Сейчас начнём спорить кто от кого должен наследовать
Каждый квадрат - это прямоугольник Не каждый прямоугольник - квадрат. О чем тут спорить?)))
источник

A

Alexey🐾 in QA — Автоматизация
Ksenia Vorobyeva
Каждый квадрат - это прямоугольник Не каждый прямоугольник - квадрат. О чем тут спорить?)))
О наследовании
источник

MK

Mem Kekovich in QA — Автоматизация
Vova Moskalenko
это звучит как "зачем нужен Х? Он только ограничивает, причем безбожно. Потому в Y добавили возможность делать Х"
Если думать какими-то кастрюлями и кухнями - ради бога. Юзайте абстрактные классы )
источник

СТ

Сосед Тоторо... in QA — Автоматизация
Alexey🐾
А, вспомнил. А как быть с квадратом и прямоугольником. Сейчас начнём спорить кто от кого должен наследовать
но при этом оба они - фигура
источник

A

Alexey🐾 in QA — Автоматизация
Mem Kekovich
Если думать какими-то кастрюлями и кухнями - ради бога. Юзайте абстрактные классы )
Это было для понимания приведено. А как надо думать? Дать распечатку кода нейронной сети и сказать :"гляди,а видишь вот этот класс ExternalAdditPrevMolk extended SmallGiveTalkCallibrationMotiveChertovaBabushka{}
Это наследование
источник

KV

Ksenia Vorobyeva in QA — Автоматизация
Alexey🐾
О наследовании
Ну значит очевидно, что квадрат унаследован от прямоугольника)
источник

VM

Vova Moskalenko in QA — Автоматизация
Ksenia Vorobyeva
Ну значит очевидно, что квадрат унаследован от прямоугольника)
можно и не наследоваться, достаточно, чтобы они реализовывали общий интерфейс. Потому как квадрату нужно только 1 поле - "сторона", в то время, как у прямоугольника их должно быть 2, даже если они одинаковые. Таким образом, если мы отнаследуемся от прямоугольника, нам придется добавить поле "сторона", и заоверрайдить конструктор и метод, который считает, допустим, периметр. И смысла от такого наследования, по-сути, не будет. То ли дело, если у нас будет интерфейс iPerimeter, тогда обе фигуры могут спокойно его себе имплементировать
источник