@oop_ru

Страница 61 из 785
Alex
13.01.2017
11:35:02
ну мол зачем ошибке интерфейс
не самой ошибке, а сервису, который этими ошибками плюётся

Aleh
13.01.2017
11:35:16
а зачем ему интерфейс?

Alex
13.01.2017
11:35:24
да хз

шоб был

Google
Alex
13.01.2017
11:37:46
ну и в принципе, как обзывать интерфесы? ошибки, это я для примера привёл

Ilia
13.01.2017
11:42:28
в смысле называй интерфейс понятно, и лучше не сувать туда указатель что это интерфейс.

и не забывай что он все таки что-то общее, и в тоже время что-то частное.

А вообще нету каких то правил для именований:)

Alex
13.01.2017
11:47:25
Ilia
13.01.2017
11:48:36
Глобально для, твоего кода который использует этот интерфейс. Вообще пофиг что это интерфейс, он его воспринимает как объект.

Aleh
13.01.2017
12:24:31
http://www.oreilly.com/programming/free/object-oriented-vs-functional-programming.csp

F01134H
13.01.2017
12:24:54
О, кстати

а есть годная лит-ра по ООП?

на русском

что б не совсем для нубов только

guga
13.01.2017
12:26:20
http://www.oreilly.com/programming/free/object-oriented-vs-functional-programming.csp
ты же скачал? не хочешь залить сюда?

Google
Aleh
13.01.2017
12:27:17
а есть годная лит-ра по ООП?
Ларман Крэг - Применение UML и шаблонов проектирования Р.Мартин. Быстрая разработка программного обеспечения Addison.Wesley. Growing.Object.Oriented.Software.Guided.by.Tests.Oct.2009(есть на русском) Addison.Wesley. Экстремальное программирование. Разработка через тестирование

guga
13.01.2017
12:27:51
Aleh
13.01.2017
12:28:50
еще не открывал

ща поеду в город, буду читать

guga
13.01.2017
12:29:06
они потом буду слать всякий шлак, а у меня и так уже 1.5к писем не прочитаных в ящике для спама

Aleh
13.01.2017
12:29:19
наверное тебя это угнетает

guga
13.01.2017
12:29:26
ага

кажется я что-то важное пропустил

обсуждали уже набрось uncle bob на котлин?

говорит, слишком о программистах заботится язык, мало свободы и возможности налажать и меньше тестов приходится писать.

Aleh
13.01.2017
12:32:47
не

а когда он был, меня прост тоже не пустило

guga
13.01.2017
12:33:10
это статься отдельная

Aleh
13.01.2017
12:33:21
а

guga
13.01.2017
12:33:34
http://blog.cleancoder.com/uncle-bob/2017/01/11/TheDarkPath.html

ну и срачек в твиттере

Aleh
13.01.2017
12:36:19
кидай ссылки

guga
13.01.2017
12:37:09
https://twitter.com/unclebobmartin/status/819242373377118208

Google
F01134H
13.01.2017
21:48:39
Народы планеты Земля

мне вот интересно, зачем может понадобиться вызов конструктора внутри класса вручную

Sergei
13.01.2017
21:50:04
мне вот интересно, зачем может понадобиться вызов конструктора внутри класса вручную
1) создавать новый объект такого же класса 2) инициализировать данные

F01134H
13.01.2017
21:51:06
ну конструктор же по умолчанию вызывается, разве они тогда не инициализируются?

Sergei
13.01.2017
21:53:22
В С++ 11 можно вызывать собственный конструктор в списке собственной же инициализации.

http://stackoverflow.com/questions/308276/call-constructor-from-constructor-in-c

F01134H
13.01.2017
21:54:07
Все, понял

да не, я про php

Sergei
13.01.2017
21:54:36
Подозреваю там такая история.

F01134H
13.01.2017
21:54:37
ок-ца, там нельзя вызывать конструктор. Можно вызывать только конструктор родителя

Sergei
13.01.2017
21:55:09
Логично - надо же как-то инициализировать предка.

F01134H
13.01.2017
21:55:13
ага

Sergei
13.01.2017
21:55:20
В С++ то же самое, в общем.

Sergei
13.01.2017
21:57:04
Аааа, я подозревал! :)

F01134H
13.01.2017
21:57:08
Вот всегда придет какой-нибудь Конь и испортит умную мысль

da horsie
13.01.2017
21:57:20
<?php class A { function __construct() { echo "OMG\n"; } function a() { $this->__construct(); } } $a = new A(); $a->a();

F01134H
13.01.2017
21:57:44
вот это поворот

а зачем?

не является ли это дурным тоном?

Google
Sergei
13.01.2017
21:59:24
Как оно работает?

F01134H
13.01.2017
22:00:13
просто берет и работает :D

Admin
ERROR: S client not available

da horsie
13.01.2017
22:01:09
__construct() это обычный метод в php

Sergei
13.01.2017
22:01:18
Эээээ

da horsie
13.01.2017
22:01:42
но если он есть, он будет вызван при создании экземпляра

подозреваю, что он даже может что-то вернуть

Эээээ
у нас тут своя атмосфера, да

Sergei
13.01.2017
22:02:26
Повторный вызов по идее приведёт (в общем случае) к memory leak?

da horsie
13.01.2017
22:02:39
почему?

Sergei
13.01.2017
22:03:40
Ну в нашей С++-деревне в конструкторах ресурсы выделяют, в деструкторах освобождают. Соответственно если кто-то вызвал дважды конструктор - велик шанс что ресурс выделеа дважды, освобождён лишь один раз. Засада.

Но это опять же специфика языка без GC.

da horsie
13.01.2017
22:04:39
нене

тут долгая история у языка

в нем сначала вообще классов не было

так что все сложнее и менее логично

F01134H
13.01.2017
22:05:17
Я думаю, можно в теории что-то такое писать class Example { private $name, $var1, $var2; function __construct($name, $var1, $var2) { $this->name = $name; $this->var1 = $var1; $this->var2 = $var2; } function reset() { $this->__construct(null, null, null); } }

извиняюсь за свой французский D:

Google
da horsie
13.01.2017
22:06:10
технически можно, но не надо

<?php class A { function __construct() { echo "OMG\n"; return "WTF\n"; } function a() { echo $this->__construct(); } } $a = new A(); $a->a();

можно даже так )

и сработает)

Dumitru
13.01.2017
22:06:41
А, я про плюсы)

Хотя там также можно

Но клиент всеравно не сможет два раза вызвать если интерфейс не позволяет

Sergei
13.01.2017
22:16:12
технически можно, но не надо
Я бы такой плакат в офисе повесил - полезно помнить об этом.

?

Antony
13.01.2017
22:17:53
Я бы повесил огромный баннер, на котором описано все что не надо делвть)

Antony
13.01.2017
22:21:22
мы ждем. я на работе повешу
Требую исходник в ЛС, закажу тоже пожалуй

finkel
13.01.2017
22:23:39
Antony
13.01.2017
22:24:49
Ну тогда да требую сюда 2 баннера. Что не нужно делать даже под пытками. И как убедить манагера в том что он не шарит

Страница 61 из 785