20 / 11 / 4
Регистрация: 20.05.2016
Сообщений: 84
|
||||||
1 | ||||||
Чем лучше "Интерфейсы" от "Абстрактных или Переопределяемых методов"?01.08.2018, 01:02. Показов 1027. Ответов 9
Метки нет Все метки)
(
Столько сижу читаю и не понимаю если интерфейс требует от класса, чтобы он реализовал этот метод причем если имеется дочерний класс, то он соответственно должен его реализовать, не лучше ли просто создать метод, который просто будет переопределяться.
Хотя как я понял иногда интерфейс нужен только, чтобы получить доступ только методам как тут
0
|
|
01.08.2018, 01:02 | |
Ответы с готовыми решениями:
9
Столкнулся с ошибкой оператор "/" невозможно применить к операнду типа "группа методов" и "(int)" Ошибка 0019 Оператор "+" невозможно применить к операнду типа "string" и "группа методов" Оператор "+" невозможно применить к операнду типа "string" и "группа методов"
|
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
|
|
01.08.2018, 04:12 | 2 |
Да, именно так. Ну и плюс ко всему, класс может реализовывать несколько интерфейсов, а наследоваться только от одного класса.
0
|
Заблокирован
|
|
01.08.2018, 08:10 | 3 |
0
|
![]() 6483 / 3894 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
01.08.2018, 08:56 | 4 |
Стив Роджерс, там мутно описано.
Интерфейс нужен, чтобы мы могли объявить переменную с типом данного интерфейса. Интерфейс предоставляет перечень названий публичных методов с определенными сигнатурами. Соответственно, если у переменной получилось сослаться на незнакомый экземпляр, о котором она ничего не знает, кроме объявленного перечня методов, то переменная просит у незнакомого экземпляра выполнить метод. У абстрактного класса преимущества - предоставляет в дополнение к перечню публичных методов некоторые уже реализованные методы + слои полей экземпляра + вся статическая часть класса. Недостаток абстрактного класса, который часто перекрывает все преимущества - можно наследоваться от единственного абстрактного класса. А реализовывать несколько интерфейсов сразу можно.
0
|
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
|
|
01.08.2018, 14:05 | 5 |
0
|
1210 / 999 / 257
Регистрация: 15.06.2012
Сообщений: 3,876
|
|
01.08.2018, 14:35 | 6 |
даную тему пора закреплять... (кого я обманываю?! не спасет
![]() 15.02.2013 Интерфейсы зачем их использовать - C#/.NET 4.x 06.07.2018 Абстрактные классы и интерфейсы - C# 28.01.2018 Интерфейсы - их реальное применение в работе - C# 11.01.2018 Абстрактный класс или Интерфейс - C# 20.01.2017 Когда уместно использовать интерфейс? - C#
1
|
Shogun31337
|
01.08.2018, 14:49
#7
|
0
|
|
01.08.2018, 14:57
#8
|
Не по теме: Shogun31337, те кто задает подобные вопросы, желают услышать ответ по быстрее. И им абсолютно все равно на поиск, правила форума и т.д.
0
|
1210 / 999 / 257
Регистрация: 15.06.2012
Сообщений: 3,876
|
|
01.08.2018, 15:31 | 9 |
Не по теме: Если бы реально хотели "побыстрее", то уже 100 раз нагугли/разобрали. Распылятся не буду, ибо тут начиная от "сделайте за меня" и "хачю уже писать ацкие праграмы!!", до банальной несистематическости обучения. ТСу -- если не понятно, приймите пока как дожное. Вообще, если microsoft что-то ввело, то оно 100% использовалось. А если ему и есть логичная альтернатива, то старая версия оставлена для обратной совместимости. Конкретно интерфейсы 100% поймете, когда столкнетесь с внедрением зависимостей или юнит тестами.
0
|
Wanna be serious
586 / 473 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
|
|
01.08.2018, 22:10 | 10 |
0
|
01.08.2018, 22:10 | |
Помогаю со студенческими работами здесь
10
Какое условие лучше ставить: "меньше либо равно нулю" или "меньше единицы" Построить иерархию классов "Студент", "преподаватель", "персона", "заведующий кафедрой" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |