|
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 |
|
|
start [/forum/topic.php?fid=20&msg=38051977&tid=1404621]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 172ms |
0 / 0 |