Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.156] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 303 304 [305] 306 307 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#4561
,
|
|
|
|
Цитата Romkin @ Там вроде утиной типизации, типа если объект удовлетворяет объявленному интерфейсу - значит, он его реализует. А, ну я что-то вроде этого предлагал в нашей серии тем, за что был закидан камнями |
|
Сообщ.
#4562
,
|
|
|
|
В том, что там только интерфейсы Добавлено Цитата D_KEY @ А, ну я что-то вроде этого предлагал в нашей серии тем, за что бы закинут камнями Это мною то? Я кидал за то, что в такой схеме нет явного указания того, что класс реализует интерфейс, т.е. собственно в утках дело. |
|
Сообщ.
#4563
,
|
|
|
|
Цитата MyNameIsIgor @ В том, что там только интерфейсы Да вроде нет, их объявлять надо, первое на что в вики наткнулся: ![]() ![]() type myInterface interface { get() int set(i int) } Добавлено Цитата D_KEY @ А, ну я что-то вроде этого предлагал в нашей серии тем, за что был закидан камнями Стремно для компилируемого языка. Фактически если у тебя класс случайно удовлетворяет интерфейсу по сигнатуре, то ты его подать можешь. |
|
Сообщ.
#4564
,
|
|
|
|
Цитата MyNameIsIgor @ Я кидал за то, что в такой схеме нет явного указания того, что класс реализует интерфейс, т.е. собственно в утках дело. Так я такие интерфейсы предлагал для языков со множественным наследованием, в которых java-подобные интерфейсы не нужны. Добавлено Цитата Romkin @ Фактически если у тебя класс случайно удовлетворяет интерфейсу по сигнатуре, то ты его подать можешь. Этим интерфейсы, в основном, и отличались бы от абстрактных классов в языке со множественным наследованием. |
|
Сообщ.
#4565
,
|
|
|
|
Цитата Romkin @ Да вроде нет, их объявлять надо А я разве сказал, что не надо объявлять? |
|
Сообщ.
#4566
,
|
|
|
|
Цитата MyNameIsIgor @ В том, что там только интерфейсы ![]() Кстати, о чем-то похожем я тоже говорил: "Интерфейсы"(абстрактные типы) + "конкретные" типы(без наследования) Добавлено Еще раз что ли на Go посмотреть, давно не видел... |
|
Сообщ.
#4567
,
|
|
|
|
кто говорит/не говорит? не знаю как в C#, но в жабе это даже в коде закреплено словом implements =) Добавлено Цитата MyNameIsIgor @ Потребители, т.е. программисты, должны определять требования к языкам... в идеале. All hail lisp! =) Добавлено Цитата Romkin @ Там вроде утиной типизации, типа если объект удовлетворяет объявленному интерфейсу - значит, он его реализует. А в чем видно-то различие? в том, что если автор типа не предусмотрел реализацию нужного тебе интерфейса, ее можно написать самому. |
|
Сообщ.
#4568
,
|
|
|
|
Цитата MyNameIsIgor @ А я разве сказал, что не надо объявлять? Цитата MyNameIsIgor @ В том, что там только интерфейсы Я понял так, что классов там нет. А они вроде есть, и объявляются отдельно. |
|
Сообщ.
#4569
,
|
|
|
|
Цитата korvin @ кто говорит/не говорит? Программисты. Вы могли это заметить и в этой теме. С джавистами общался мало, но шарперы часто говорят "наследовать интерфейс". |
|
Сообщ.
#4570
,
|
|
|
|
Цитата Romkin @ Стремно для компилируемого языка. Фактически если у тебя класс случайно удовлетворяет интерфейсу по сигнатуре, то ты его подать можешь. а ты не смотришь, куда подаешь? =) |
|
Сообщ.
#4571
,
|
|
|
|
Цитата Romkin @ Я понял так, что классов там нет. А они вроде есть, и объявляются отдельно. Если память не изменяет мне с другим, в Go объявляются структуры. И функции работы с ними, которые первым параметром принимают эту структуру. А вот абстрактных классов нет, как и наследования. |
|
Сообщ.
#4572
,
|
|
|
|
Цитата Romkin @ Я понял так, что классов там нет. А они вроде есть, и объявляются отдельно. там и нет классов, только структуры Добавлено Цитата MyNameIsIgor @ Программисты. Вы могли это заметить и в этой теме. С джавистами общался мало, но шарперы часто говорят "наследовать интерфейс". не обращал внимания тут... ну а у шарперов просто нет слова implements как в |
|
Сообщ.
#4573
,
|
|
|
|
Цитата korvin @ а ты не смотришь, куда подаешь? =) Один написал объект, а другой, увидя сигнатуру, подал его в свой метод. Одно дело когда один программист, а другое - когда их много. Исходник не обязательно будет доступен. А вот когда явно указан интерфейс, то это уже документировано, что именно его и поддерживает. |
|
Сообщ.
#4574
,
|
|
|
|
Цитата Romkin @ Один написал объект, а другой, увидя сигнатуру, подал его в свой метод. Как-то высосано из пальца, ИМХО. |
|
Сообщ.
#4575
,
|
|
|
|
Цитата D_KEY @ Как-то высосано из пальца, ИМХО. Может быть. Но мне кажется что лучше явно видеть интерфейс в заголовке, это элемент самодокументирования. Тем более что причин этого не делать я не вижу. |