
Sergey
15.08.2017
09:02:55
Неа
контракт != интерфейс.
это намного более широкое понятие
сигнатуры, системы типов и т.д. это способы задавать контракт в коде
но это не описывает полностью пре/пост условия и инварианты класса

Google

Виталий
15.08.2017
09:04:06
Принцип Лисков не запрещает менять логику

Sergey
15.08.2017
09:04:39
Принцип Лисков не запрещает менять логику
этот принцип соблюден только и только тогда когда ты можешь любого "наследника" подставить на место базового класса и не париться о том что "что-то не то что задумывалось" произойдет

Виталий
15.08.2017
09:06:48
Это верно " снаружи", когда клиент использует класс. А у нас ситуация, когда закрытый метод использует открытый. В закрытом каким боком наследники?

Sergey
15.08.2017
09:09:33
поведение не должно поменяться

Денис
15.08.2017
09:09:58
А что плохого в том, что закрытый метод обращается к открытому?

Sergey
15.08.2017
09:10:05
вот если мы говорим о приватных методах - там другая история, там как ты верно сказал и наследование ни причем и к контрактам они не имеют никакого отношения
но если все хорошо с точки зрения принципа единой ответственности и принципа сегрегации интерфейсов то все должно быть ок

Виталий
15.08.2017
09:12:06

Sergey
15.08.2017
09:12:19

Ivan
15.08.2017
09:12:51
class Calculator
{
public function add($a, $b)
{
return $a + $b;
}
public function sub($a, $b)
{
return $this->add($a, -$b);
}
}

Google

Sergey
15.08.2017
09:12:56

Ivan
15.08.2017
09:13:06
ok?)

Sergey
15.08.2017
09:13:09

Ivan
15.08.2017
09:13:17
почему мне это кажется некрасивым

Sergey
15.08.2017
09:13:43
просто пример слишком простой)
ну и у тебя тут всеравно нет приватных методов)

Ivan
15.08.2017
09:14:49
да я неправильно спросил, не из приватного, а из любого

Sergey
15.08.2017
09:15:10

Aleh
15.08.2017
09:32:50
ну да, объекту вызывать свои методы и менять свои приватные свойства вообще нормально, он для этого и создан)

Den
15.08.2017
09:39:33

Aleh
15.08.2017
09:47:01
так опиши, как бы ты сделал

Виталий
15.08.2017
09:48:33

Den
15.08.2017
09:59:57

Aleh
15.08.2017
10:00:04
да

Sergey
15.08.2017
10:00:15
он походу через соотношение сторон, флоты и все такое
ну мол он про какие-то коэффициенты там выше говорил
и то же самое провернуть с квадратами
и кружками и овалами - так что бы веселее было

Google

Den
15.08.2017
10:02:33
да
2 свойства - *длина* и *отношение* описывают все квадраты и прямоугольники точно так же как *длина* и *ширина*
Площ?

Артур Евгеньевич
15.08.2017
10:03:30
То есть что будеи длиной а что шириной

Aleh
15.08.2017
10:03:46

Sergey
15.08.2017
10:03:53
)))

Ivan
15.08.2017
10:04:14
)

F01134H
15.08.2017
10:04:33
))

Артур Евгеньевич
15.08.2017
10:04:34
))

Sergey
15.08.2017
10:04:41
так проще?

Den
15.08.2017
10:04:57
Или больше

Sergey
15.08.2017
10:05:20
более того, 1.00000000001 === 1.000000000 не всегда даст тебе правдивый результат
так что определить по коэффициенту квадрат это или нет не выйдет

Den
15.08.2017
10:06:45

Aleh
15.08.2017
10:07:12

Google

Aleh
15.08.2017
10:07:28
оч удобно хранить будет)

Den
15.08.2017
10:07:28
3/11 или 11/3
Я так делал для фронтэнда

Sergey
15.08.2017
10:11:06
???
как говоилось в этом видео что ты не досмотрел - "людей игогда сожают в тюрьму за сравнивание флотов на равество"

Den
15.08.2017
10:11:42

Sergey
15.08.2017
10:11:58
привыкаю к новой клавиатуре, сорян

Den
15.08.2017
10:12:31
Там есть русские буквы?

Sergey
15.08.2017
10:13:11
не, слепая печать и все такое, просто она типа механическая и чуть по другому тактильные ощущения, не привык пока.

Admin
ERROR: S client not available

Sergey
15.08.2017
10:20:19

Den
15.08.2017
10:25:20
А можно инфу о том, что кто-то добавился, за сообщение не считать, или это только админ группы может регулировать?

Dmitriy
15.08.2017
12:10:16
что такое индекс ?

Den
15.08.2017
12:10:29
Количество хранимого не увеличилась - проблема решена )

F01134H
15.08.2017
12:10:30
места назначения ?

Den
15.08.2017
12:10:47
Коэффициент

Dmitriy
15.08.2017
12:11:10
у круга это 1 ?

Google

F01134H
15.08.2017
12:11:14
коэффициент индекса
синус умножаем на площадь круга минус индекс средней температуры квадрата

Den
15.08.2017
12:11:47

Dmitriy
15.08.2017
12:13:03
Точно ?
и кружками и овалами - так что бы веселее было

Den
15.08.2017
12:14:42
Точно ?
Ты - не знаю.
Я - да.
public function isSquare() {
return $this->index === 1;
}
Я бы ваще квадрат выкинул

Aleh
15.08.2017
12:15:25

Den
15.08.2017
12:17:08

Aleh
15.08.2017
12:17:35
ну ты сказал, что width и height это глупо и ты бы так никогда не сделал. Пытаюсь понять, чем твой вариант лучше

Андрэ
15.08.2017
12:17:37
Ну например, серверный шкаф нельзя наклонять

Den
15.08.2017
12:18:09
x и y - что раньше?

Rodion
15.08.2017
12:18:19

Андрэ
15.08.2017
12:19:00
Ну так-то да. Но зачем вводить какой-то индекс я тоже не могу понять ели честно. Я конечно может част дискуссии упустил, с чего началось

Rodion
15.08.2017
12:19:47
честно говоря, тоже не понимаю, зачем так изворачиваться)

Den
15.08.2017
12:22:00
Может быть так же что я, и правда, не вдуплил че там в видео, но, как мне показалось у чувака определенные проблемы из-за этого, и он объяснит как их решить в конце. Проблемы касаются "неудобства" наследования.
Или нет?

Андрэ
15.08.2017
12:22:58
а, вон про что было. Наследовать ли квадрат и прямоуголльник от Figure типа?
ну или друг от друга

Den
15.08.2017
12:23:44
Я бы ваще квадрат выкинул
public function isSquare() {
return $this->index === 1;
}