Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
97 / 98 / 58
Регистрация: 29.09.2016
Сообщений: 410

В чем отличие реализации и обобщения(наследование)?

15.02.2018, 15:41. Показов 3707. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почитал теорию, но все равно как-то непонятно. Вот если мы абстрагируемся от того, что в C# есть интерфейы (implementation).
И рассмотрим отличие этих отношений исключительно между классами, то в чем различие?

Как я понял, что отношение реализации возникает, когда один класс задает поведение системы(функциональную спецификацию) , а другой является частичной или полной реализацией этого поведения.

Но ведь это же можно сказать про наследование, когда один класс наследует класс родителя, он ведь является частичной или полной реализацией поведения. Путем манипулирования модификаторами доступа.

Вот меня препод спросил отличие, я ему сказал, что это отличие абстрактного класса и интерфейса и их связей в C#. А мне сказали, что вот в C, нет интерфейсов, тогда в таком случае что? И тут я не смог ответить.
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.02.2018, 15:41
Ответы с готовыми решениями:

Чем отличается наследование реализации от наследования интерфейса?
Чем отличается наследование реализации от наследования интерфейса?

Наследование интерфейса и наследование реализации
Начал читать книгу GoF и сразу же в предисловии попал в тупик. Чем отличается наследование интерфейса от наследования реализации? Что такое...

Расширяющее наследование. Детали реализации
Один из методов организации виртуального ООП наследования на си предполагает реализацию структуры вида: struct a_s; struct...

8
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
15.02.2018, 15:53
Цитата Сообщение от ahtik95 Посмотреть сообщение
вот в C, нет интерфейсов, тогда в таком случае что?
Да ничего, в общем. Я с С не знаком, но отсутствие интерфейсов в шарпе принесло бы жуткое неудобство. Есть случаи, когда интерфейсы можно заменить абстрактными классами, но во многих случаях интерфейсы удобнее.
1
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,233
15.02.2018, 16:03
Интерфейсы позволяют определить функционал в нескольких иерархиях наследования.
С классами такого не получится, поскольку в шарпе нету множественного наследования. - Ятп, это основное отличие.
1
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
15.02.2018, 17:06
Цитата Сообщение от ahtik95 Посмотреть сообщение
А мне сказали, что вот в C, нет интерфейсов, тогда в таком случае что?
Зло. А еще интерфейсов нет в ассемблере и javascript.

Цитата Сообщение от ahtik95 Посмотреть сообщение
это отличие абстрактного класса и интерфейса и их связей в C#.
Нет. Интерфейс описывает исключительно контракт. (поєтому в его обьявлении может бьіть только метод и его производньіе -- ивентьі и свойства). Абстрактньій класс же описьівает базовую реализацию. Ну и различия по возможности множественного наследования.
1
4 / 4 / 2
Регистрация: 01.11.2017
Сообщений: 9
15.02.2018, 18:18
Чем отличается абстрактный класс от базового - родительского класса? А чем отличается господь Бог от земного родителя? На практике отличие в том, что нельзя использовать конструктор абстрактного класса для создания его объекта.
1
97 / 98 / 58
Регистрация: 29.09.2016
Сообщений: 410
15.02.2018, 22:18  [ТС]
Цитата Сообщение от Шиповник Посмотреть сообщение
На практике отличие в том, что нельзя использовать конструктор абстрактного класса для создания его объекта.
А причем здесь отличие между абстрактным классом и конкретным классом, вопрос не об этом ведь.
1
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
16.02.2018, 01:38
не совсем понятна суть вопроса. отличие абстрактного класса в роли родителя от интерфейса? класс располагает некой логикой, которая безусловно наследуется(можно переопределить), интерфейс описывает то, что класс обязан уметь, каждый класс обязан иметь реализацию интерфейса!
отличие шарпа от С? в С, если мне не изменяет склероз, наследование возможно не от одного класса
1
97 / 98 / 58
Регистрация: 29.09.2016
Сообщений: 410
17.02.2018, 00:46  [ТС]
Цитата Сообщение от Diamante Посмотреть сообщение
не совсем понятна суть вопроса. отличие абстрактного класса в роли родителя от интерфейса?
не, имелось в виду сама связь "наследование" и "реализация". Я начал приводить в пример абстрактный класс и интерфейс. А мне препод сказал, типа я привязываюсь к С#. Вот в C нет интерфейсов, тогда как ты представляешь отличие между этими двумя принципами.
Вот по поводу множественного наследования классами, наверное это и имелось в виду, что там можно абстрактные классы использовать, как интерфейсы. Типа засунул туда 1-2 метода без тела, а в наследнике реализовал.
1
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
17.02.2018, 01:38
а обобщение точно подразумевает наследование(в рамках этого вопроса)?
в шарпе обобщения имеют место быть, мало того, это очень сильный инструмент...
чего же хочет препод?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2018, 01:38
Помогаю со студенческими работами здесь

Наследование интерфейса без реализации дочерних методов
Имеется интерфейс вида: public interface IRepository<T> where T: class { T GetById(int id); ...

В чем отличие
Есть ли отличие? RewriteCond %{REQUEST_FILENAME} !.*\.(jpeg|jpg|gif|png|ico)$ и RewriteCond %{REQUEST_FILENAME} !-f ...

В чем отличие
Господа,наверное, совсем простой для вас вопрос,но я путаюсь чем отличаются эти 2 обозначения?

В чём отличие?
Объясните, пожалуйста, в двух словах в чём отличие Yandex, Google, Rambler? В смысле, чем отличается поисковая выдача? В одном из них на...

В чем отличие?
*{ box-sizing: inherit;} body { box-sizing: border-box;} * { box-sizing: border-box } Чем отличается такая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru