|
c# интерфейсы
|
|||
---|---|---|---|
#18+
В одном источнике пишут, что интерфейс не может содержать свойства, в другом - может. Что верно? И что еще может содержать интерфейс? А так же подскажите пожалуйста, верна ли следующая строка:? авторИнтерфейс - это тот же абстрактный класс, который не может иметь свойства и тело функции. Если нет, напишите, что же все-таки может содержать интерфейс и чем он отличается от абстрактного класса. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 18:47 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
bosscs, http://msdn.microsoft.com/ru-ru/library/87d83y5b.aspx от абстрактного класса в принципе, ни чем, он в байт коде и лежит как абстрактный класс. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 19:09 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
bosscsчто же все-таки может содержать интерфейс и чем он отличается от абстрактного класса. В интерфейсе можно объявить (т.е. указать сигнатуры) свойств, методов, событий и индексаторов. Абстрактный класс может содержать любые члены класса вместе с их реализацией. Разница не ограничивается этим т.к. в C# можно унаследоваться только от одного класса, но реализовать неограниченное кол-во интерфейсов. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 19:25 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
bazile, на хабре месяц назад видел как парень исполнил множественное наследование из байт кода, сама среда получается это допускает, а нас выкидывает на уровне компиляции. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 19:37 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Где-то в степиbazile, на хабре месяц назад видел как парень исполнил множественное наследование из байт кода, сама среда получается это допускает, а нас выкидывает на уровне компиляции. ну вабщето , если очень надо , то "множественное" наследование можно сделать и в рамках штатных методов. хотя , да , напрямую, в лоб это сделать низя ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 20:02 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
beg-in-erну вабщето , если очень надо , то "множественное" наследование можно сделать и в рамках штатных методов. хотя , да , напрямую, в лоб это сделать низя Можно это продемонстрировать? Подробностей хочется. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 21:39 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
LexxxxxМожно это продемонстрировать? Подробностей хочется. ну смотря что вам нужно. только методы унаследовать это одно , а с со всеми погремушками это другое. приведите пример того , что вы хотите множественно унаследовать. ну типа класс_предок1,2,3 и типа класс наследник. дабы была полная ясность в данном вапрёсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 22:08 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Lexxxxx, я вообще не понимаю мелкомяхких. чего они убрали возможность множественного наследования. я понимаю желание свести всё под одну крышу обджекта, но тем не менее. Попытка возместить потерю Ынтерфейсами - слабая попытка. В чём жы глобальный цымес отказа? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 22:16 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
beg-in-erну смотря что вам нужно. только методы унаследовать это одно , а с со всеми погремушками это другое. приведите пример того , что вы хотите множественно унаследовать. ну типа класс_предок1,2,3 и типа класс наследник. дабы была полная ясность в данном вапрёсе. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43.
Ну вот как-то так. А что такое со всеми погремушками и чем это отличается от наследования только методов? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 22:55 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Небольшая ошибочка в код закралась. Пусть второй MyMethod в классах выглядит как Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 23:11 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
LexxxxxНу вот как-то так. Ну , и где наследник? пустой класс Naslednik - мимо кассы. как вы себе представляете вызов MyMethod в классе Naslednik ??? из какого класса брать? из Predok_1,2 или 3 ?. если брать по порядку, то классы Predok_2 и Predok_3 идут лесом. я ж просил описать наследника, что вы там хотите вызывать. Предложенный вариант не отражает ни чего интересного. в нём нет даже смысловой нагрузки , что бы можно было оценить что-то. к тому же , Predok_1 вызывает ошибку компиляции. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 23:18 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
LexxxxxНебольшая ошибочка в код закралась. небольшая )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 23:19 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
beg-in-erНу , и где наследник? пустой класс Naslednik - мимо кассы. как вы себе представляете вызов MyMethod в классе Naslednik ??? из какого класса брать? из Predok_1,2 или 3 ?. если брать по порядку, то классы Predok_2 и Predok_3 идут лесом. я ж просил описать наследника, что вы там хотите вызывать. Предложенный вариант не отражает ни чего интересного. в нём нет даже смысловой нагрузки , что бы можно было оценить что-то. А что откуда брать я хотел у Вас узнать! Ведь это Вы утверждали что множественное наследование это очень нужно и интерфейсы ему не замена. Предложенный вариант и не должен был нести никакой смысловой нагрузки, а вот оценить по нему можно многое! :) beg-in-erк тому же , Predok_1 вызывает ошибку компиляции. Да что Вы говорите?! :) Прям ужас какой-то! Я вам больше скажу, там все классы не компилируются! Даже с исправленной сигнатурой второго MyMethod! Но страшного ничего для поставленной задачи в этом нет! :) Ну так что, как сделать множественное наследование?! Ну или как Вы его делаете? Поделитесь сокровенным знанием?! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 23:27 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
LexxxxxА что откуда брать я хотел у Вас узнать! пардонте, как мне надо , я так и делаю. Я спросил , что вы хотите от наследника. Ведь это Вы утверждали что множественное наследование это очень нужно и интерфейсы ему не замена.где я такое говорил. я наоборот не сторонник массового , повсеместного применения ООП, и как одно из его свойств мн. наследование (другое дело , что выбор то не велик) . а то что интерфейсы не замена. ну так да . как поле перелетит. а реализация методов скозь интерфейсы проходит? Предложенный вариант и не должен был нести никакой смысловой нагрузкиа почему бы не прицепить?типа класику :машынка, колесо, руль. ну дайте толковый пример с описанием. Ну или как Вы его делаете? Поделитесь сокровенным знанием?! :)всё строго в штатных методах. ничего не обычного. только что чуть-чуть "сложнее". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 23:44 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
beg-in-erLexxxxx, я вообще не понимаю мелкомяхких. чего они убрали возможность множественного наследования. я понимаю желание свести всё под одну крышу обджекта, но тем не менее. Попытка возместить потерю Ынтерфейсами - слабая попытка. В чём жы глобальный цымес отказа? А по моему очень даже верно, Мое имхо, вот в сях процент долюоебов очень низкий, в силу специфики - выделение памяти, ссылки, указатели, STL там никому в голову не придет написать - class MyAss:Button,List<MyAss>,Thread, а вот если бы разрешили в диезе тут уровень входа детского сада, и долбоебов процентов семьдесят, что бы было тогда? Да и сама среда укомплектована на все случаи жизни около 40 000 типов, зачем оно нужно. Если собираете свой агрегат, отнаследуйтесь от похожего и наворачивайте тюнинг интерфейсами, вполне великолепно смотрится.. зы многие кто пишет не один год даже не знают что такое интерфейс... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 23:53 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
beg-in-er... а то что интерфейсы не замена. ну так да . как поле перелетит. а реализация методов скозь интерфейсы проходит?.. Простите ничего не понял. Напомнило " На хромой блохе, с того берега моря, которое зайцу не перелететь, орлу не перебежать, хоть море не море, а так лужа посреди города, где тень от блохи на зайца упала и насмерть убила, а из шкуры зайца тулуп вышел и пошел куда глаза глядят. Тут заяц каааак прыгнет…" :) beg-in-er... а почему бы не прицепить?типа класику :машынка, колесо, руль. ну дайте толковый пример с описанием... Ну представьте себе что в каждом из предков кроме указанных мной есть нужные всему человечеству методы СделатьМирВоВсемМире(), ЧтобыНеБылоВойны() и ЧтобыДетиНеПлакали(). Какая собственно разница что в них есть еще, кроме того что я там понаписал? beg-in-erвсё строго в штатных методах. ничего не обычного. только что чуть-чуть "сложнее". Ну хоть маленький примерчик можно?! А что такого дает множественное наследование, что не могут дать интерфейсы? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2012, 23:56 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
beg-in-erя вообще не понимаю мелкомяхких. чего они убрали возможность множественного наследования. Чтобы кодирующие обезьянки гавнокод не писали. beg-in-erПопытка возместить потерю Ынтерфейсами - слабая попытка. Не путай теплое с мягким. Речь о реализации. P.S. Малти-наследование нах не уперлось. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2012, 00:16 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Вот мне надо создать мою кнопку , отнаследуюсь ка я от Button Кнопочки должны добавляться массивом на форму отнаследуюсь ка я от List<MyAss> кнопочки должны работать в другом потоке,( так модно) Отнаследуюсь ка я от Thread Че то не фига не получается, пойду ка я на форум, там напишут я скопипасчу. Что за гове...ый форум, никто не хочет помочь, все дают тынцы на мсдн и литературу - однозначно зажравшиеся дебилы.. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2012, 00:26 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Это все фигня, тут на соседней ветке умудряются вебформс от мувице наследовать ))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2012, 00:34 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста, а то что то запутался, недавно начал изучать C#, сейчас читаю книгу Девида Сеппа "Программирование ADO.NET", он пищет: "Можно также воспользоваться интерфейсом IAsyncResult, что бы подождать завершение вызова, выполнив метод IAsyncResult.AsyncWaitHandle.WaitOne." и приводит пример Код: c# 1. 2. 3. 4.
до селе я думал что интерфейс существует для того что бы реализовать реальные классы, ну и потом пользоваться этим классами зная что в нем гарантированно реализовано, а у интерфейсов соответственно нельзя вызывать ни методы ни свойства ни пр., но оказывается судя по всему можно вызывать методы у самих интерфейсов, а быть может здесь имеет место неявное приведение типов, в общем объясните пожалуйста что здесь происходить в конце концов у интерфейсов можно вызывать методы или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 03:05 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Интерфейсы могут заменять делегаты в некоторых случаях, рано тебе еще об этом думать, читай книжку дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 03:35 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
megazoid007, ты путаешь интерфейс с его реализацией. В интерфейсе мы определяем контракт. Экземпляры интерфейса создавать нельзя, но можно создать экземпляр класса реализующий интерефейс и использовать имя интерфейса везде где можно использовать имя класса (имя типа). Например: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 11:56 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Подведем итоги: 1. Самое основное отличие интерфейса от абстрактного класса (не вдаваясь в полемику о том, как оно генерируется в IL) - это отсутствие реализации у первого и возможность множественного наследования. 2. Множественного наследования в классах - зло, которое никому не нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 12:02 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloperМножественного наследования в классах - зло, которое никому не нужно. Если бы это было злом, то никто бы его не реализовывал. Скорее множественное наследование создает больше проблем чем решает, что сильно повышает требования к мастерству программиста. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 12:22 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloper, к п1 - у интерфейса не может быть полей ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 12:25 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
bazileЕсли бы это было злом, то никто бы его не реализовывал. Это дырка в архитектуре классов, а не проблемы дотнета. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 12:47 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloper, я не про .NET говорил, а про ситуацию в целом. Wikipedia утвеждает что существует 14 языков программирования поддерживающих множественное наследование, включая сравнительно недавно созданную Scala. Поэтому я не считаю, что множественное неследование зло. У него есть своя облась применения и поэтому существуют языки которые это поддерживают. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 12:52 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
bazilecooldeveloper, я не про .NET говорил, а про ситуацию в целом. Ну если говорить обобщенно, то я всё-равно не понимаю, какой профит мы получим, если множественно отнаследуемся от WPF кнопки, ASP.NET грида и мембершипа. Даже википедия не скрывает, что имеет место быть семантическая неопределенность, отсутствие возможности явного многократного наследования от одного класса, порядок наследования изменяет семантику класса. Множественное наследование усиливает проблему наследования конструкторов и последовательностей конструкторов, таким образом создавая проблемы с поддержкой и расширяемостью в этих языках. Объекты в отношениях наследования со значительно отличающимися методами конструирования довольно трудны для реализации в рамках парадигмы последовательности конструкторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 14:12 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloper, в реализации COM сервера на с++ множественное наследование (при правильном использовании) может серьёзно уменьшить объём копипаста ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 14:22 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Изопропилcooldeveloper, в реализации COM сервера на с++ множественное наследование (при правильном использовании) может серьёзно уменьшить объём копипаста Чудесная новость. Как это мне может помочь? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 14:26 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloper, множественное наследование не является абсолютным злом. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 14:27 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
beg-in-erну вабщето , если очень надо , то "множественное" наследование можно сделать и в рамках штатных методов. С этого места поподробней. Как штатными способами сделать множественное наследование? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 14:29 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
beg-in-erя вообще не понимаю мелкомяхких. чего они убрали возможность множественного наследования. Что помимо C# знаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 14:30 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Изопропилмножественное наследование не является абсолютным злом. Абсолютным - возможно. Абсолютbeg-in-erну вабщето , если очень надо , то "множественное" наследование можно сделать и в рамках штатных методов. С этого места поподробней. Как штатными способами сделать множественное наследование? Я тоже с beg-in-er поржал Сначала ляпнул какую-то глупость, потом начал говорить, что мол вы некорретно задачу ставите. ...beg-in-erLexxxxxМожно это продемонстрировать? Подробностей хочется. ну смотря что вам нужно. только методы унаследовать это одно , а с со всеми погремушками это другое. Цирк. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 14:35 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Изопропилcooldeveloper, к п1 - у интерфейса не может быть полейРаз уж теперь стало круто хвастаться детсадовскими знаниями, то добавлю: и событий. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 14:57 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloperbazileЕсли бы это было злом, то никто бы его не реализовывал. Это дырка в архитектуре классов, а не проблемы дотнета. Дырка в виде базового objectа,)) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 15:06 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Antonariyдобавлю: и событий. События в интерфейсе можно объявлять. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 15:16 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Где-то в степиДырка в виде базового objectа,)) это только одна из неприятностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 15:19 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
bazileAntonariyдобавлю: и событий. События в интерфейсе можно объявлять.И правда. Раньше было нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 15:26 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Antonariybazileпропущено... События в интерфейсе можно объявлять.И правда. Раньше было нельзя. и раньше можно было ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 15:48 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Antonariy, опять обосрался ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 15:55 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloper, МСУ, ну что там со смехом, всё исчё продолжается? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:02 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
pationAntonariyпропущено... И правда. Раньше было нельзя. и раньше можно былоДля меня раньше это до дотнета. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:09 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloperНу если говорить обобщенно, то я всё-равно не понимаю, какой профит мы получим, если множественно отнаследуемся от WPF кнопки, ASP.NET грида и мембершипа. Аналогичным образом можно и одиночное наследование довести до абсурда унаследовав, например, класс DatabaseConnection от TreeView. Профит же всегда один - упрощение кода. Изопропил привел тебе пример. cooldeveloperИзопропилcooldeveloper, в реализации COM сервера на с++ множественное наследование (при правильном использовании) может серьёзно уменьшить объём копипаста Чудесная новость. Как это мне может помочь? Изопропил привел пример опровергающий твое утверждение что "множественное наследование - никому не нужное зло". Есть ситуации когда оно помогает, но так их не так много и кроме того порождает проблемы, то чаще всего им не пользуются. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:11 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloperAntonariy, опять обосрался Зачем такое писать? Чем это помогает текущей дискуссии? Ты сам никогда не ошибался? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:13 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloperAntonariy, опять обосрался А муся опять в это вступил и оттирается в бане Так и не научился, что его нужно обходить, а не обмазываться им. Когда карту починишь, горе-орхетегтор? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:13 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
beg-in-ercooldeveloper, МСУ, ну что там со смехом, всё исчё продолжается? На мой вопрос ответ-то будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:16 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
beg-in-erМСУ, ну что там со смехом, всё исчё продолжается? Ты нам когда покажешь обещанное множественное наследование в рамках штатных методов ? bazileАналогичным образом можно и одиночное наследование довести до абсурда унаследовав, например, класс DatabaseConnection от TreeView. Профит же всегда один - упрощение кода. Изопропил привел тебе пример. Единичное наследование не может быть доведено до абсурда, ибо в нашем black box четко реализуется single responsibility principle. Никаких двойственных трактований. Есди ты унаследовался от TreeView, значит ты получил функционал TreeView и ничего другого. А как ты назовешь свой корабль, DatabaseConnection или DotnetMustDie - никого не волнует. Ты получил то, от чего отнаследовался. [quot bazileИзопропил привел пример опровергающий твое утверждение что "множественное наследование - никому не нужное зло". Есть ситуации когда оно помогает, но так их не так много и кроме того порождает проблемы, то чаще всего им не пользуются.[/quot] А я привел пример, что помимо так называемой "помощи" если еще и непомерное зло. Зачем нам хаос в дотнете? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:20 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
АбсолютНа мой вопрос ответ-то будет? ради экперимента предположим, что кроме шарпа ничего не знаю. каков будет выпад, какую эскападу ожидать в свой адрес? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:22 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
AntonariycooldeveloperAntonariy, опять обосрался А муся опять в это вступил и оттирается в бане Так и не научился, что его нужно обходить, а не обмазываться им. Когда карту починишь, горе-орхетегтор? Antonariy, иди ООП учи. А потом мы с тобой про карту поговорим ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:23 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
beg-in-erради экперимента предположим, что кроме шарпа ничего не знаю. каков будет выпад, какую эскападу ожидать в свой адрес? Никакого выпада. Меня интересовал больше вопрос: Как штатными способами сделать множественное наследование? Если, что он был первым. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:26 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloperА потом мы с тобой про карту поговорим Не получится. Теперь при любом упоминании о твоем саете я буду падать под стол от смеха ) Покажи еще какие-нибудь свои прожэкты. Петросян уже не торт, но твои поделки достойны его памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:34 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
АбсолютМеня интересовал больше вопрос: Как штатными способами сделать множественное наследование?Нечто похожее можно получить композицией. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:34 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Алексей КАбсолютМеня интересовал больше вопрос: Как штатными способами сделать множественное наследование?Нечто похожее можно получить композицией. Нечто похожее? :) Но на самом деле хочу видеть ответа именно от "beg-in-er" ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:40 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Antonariy, Ой, да ладно. Опечатки - с кем не бывает :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:44 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
bazile и использовать имя интерфейса везде где можно использовать имя класса (имя типа). Т.е. я правильно понял, что можно присвоить переменной типа интерфейса ссылку на класс реализующийся через этот интерфейс, и потом обращаться к классу через интерфейсную переменную? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:50 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
megazoid007bazile и использовать имя интерфейса везде где можно использовать имя класса (имя типа). Т.е. я правильно понял, что можно присвоить переменной типа интерфейса ссылку на класс реализующийся через этот интерфейс, и потом обращаться к классу через интерфейсную переменную? Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:53 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Поправка к моему предыдущем ответу: Проперти, т.е. get/set тоже доступны. Т.е. доступно все то, что объявлено в интерфейсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 16:54 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
megazoid007Т.е. я правильно понял, что можно присвоить переменной типа интерфейса ссылку на класс реализующийся через этот интерфейс, и потом обращаться к классу через интерфейсную переменную? Да. При этом тебе будут доступны все члены этого интерефейса включающая его базовые интерфейсы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 17:09 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Абсолют, bazile, все понятно спасибо большое ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 17:31 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
AntonariycooldeveloperА потом мы с тобой про карту поговорим Не получится. Теперь при любом упоминании о твоем саете я буду падать под стол от смеха ) Падать не надо, лучше сразу убейся об стену. AntonariyПокажи еще какие-нибудь свои прожэкты. Петросян уже не торт, но твои поделки достойны его памяти. Это не проблема, это опечатка. Непонимание ООП, языка и предметики - это проблема. Назовем это просто ламерством. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 17:39 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloperЭто не проблема, это опечатка.Проблема, что что тебя нужно ткнуть носом, чтобы ты заметил свои опечатки. Сколько месяцев висит это позорище? cooldeveloperНепонимание ООП, языка и предметики - это проблема. Назовем это просто ламерством.Понимание ООП, языка и предметики не помешало тебе наговнокодить ссылку, ведущую вон из интернетов. Вот это настоящее ламерство. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 18:02 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloperЕдиничное наследование не может быть доведено до абсурда, ибо в нашем black box четко реализуется single responsibility principle. Никаких двойственных трактований. Есди ты унаследовался от TreeView, значит ты получил функционал TreeView и ничего другого. А как ты назовешь свой корабль, DatabaseConnection или DotnetMustDie - никого не волнует. Ты получил то, от чего отнаследовался. То же верно и для множественного наследования. При грамотно выстроенной иерархии принцип single responsibility не будет нарушен. Все упирается в квалификацию программиста. Сам видел примеры когда одиночное наследование использовали неверно, а именно выбирали неподходящий базовый класс, меняли поведение переопределенного метода нарушая контракт класса и т.п. cooldeveloperА я привел пример, что помимо так называемой "помощи" если еще и непомерное зло. Зачем нам хаос в дотнете? Я говорил только о множественном наследовании в общем смысле, а не о его нужности/ненужности в .NET. Но если интересно мое мнение, то отсутствие в .NET множественного наследования - благо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 19:28 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
Вот\'с ап, "бегинер"? Штатные средства отвалились? План по захвату мира рухнул, когда не смог поунаследовать три класса в один? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 20:03 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
АбсолютВот\'с ап, "бегинер"? Штатные средства отвалились? План по захвату мира рухнул, когда не смог поунаследовать три класса в один? Чесно говоря планы никуда не делись. тогда , когда я писал полгода назад , мне виделось необходимость множественного наследования. но толи я плохо искал эту необходимость , толи не особо старался , но как то не нашёл явную необходимость применения множественного наследования. вон и bazile то отсутствие в .NET множественного наследования - благо. тоже имеет сказать по поводу необходимости. по потому я пока придержу свои мысли. не хочу блистать говнокодом до тех пор , пока не буду уверен в его необходимости. но сегодня-завтра у меня есть свободное время, я покумекую над данным вопросом. Абсолют, а что ты ожидаешь от множественного наследования в .Net? какой профит от его применения? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 20:11 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
beg-in-er, Я? Ничего не ожидаю. Мне оно не нужно. Абсолютно. Небольшой секрет еще раскрою, что я вообще с плюсов пришел в C#, давным-давно. Просто был удивлен заявлению, что штатными средствами можно сделать такое наследование в C#. Вот и поинтересовался. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 20:17 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
AntonariycooldeveloperЭто не проблема, это опечатка.Проблема, что что тебя нужно ткнуть носом, чтобы ты заметил свои опечатки. Проблема в том, что мне твои тыканья носом в мои опечатки, абсолютно фиолетовы. Это не дырка в безопасности, это не сбой функционала, это не фееричное незнание базовых механизмов ООП (как в твоем ламерском случае). Это тупо опечатка, фиг бы с ней. AntonariyСколько месяцев висит это позорище? Как буду что-то новое прикручивать или обновлять, так поправлю. Пока это позорище мне и пользователям ресурса не мешает жить. AntonariyПонимание ООП, языка и предметики не помешало тебе наговнокодить ссылку, ведущую вон из интернетов. Вот это настоящее ламерство. Твоя очередная дурость с интерфейсами просто затмила здравый рассудок. Ты опять лег ниже плинтуса. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 21:14 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
bazileТо же верно и для множественного наследования. При грамотно выстроенной иерархии принцип single responsibility не будет нарушен. Множественное наследования априори перечеркивает этот принцип на корню вне зависимости от правильности иерархии, ибо класс или модуль должны иметь одну и только одну причину измениться. bazileВсе упирается в квалификацию программиста. Ну так мы можем скатиться до, в принципе, любого кода. При наличии скиллов можно и с goto прекрасно работать. Только качественным решение уже не назовешь. bazileЯ говорил только о множественном наследовании в общем смысле, а не о его нужности/ненужности в .NET. Но если интересно мое мнение, то отсутствие в .NET множественного наследования - благо. Множественное наследование многими критикуется не только в разрезе дотнета. На счет блага согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 21:20 |
|
c# интерфейсы
|
|||
---|---|---|---|
#18+
cooldeveloperТолько качественным решение уже не назовешь скажи это тем, кто на Fortran IV пишет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 22:17 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1404621]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 209ms |
0 / 0 |