Kiran Sonawane Ответов: 4

Пример интерфейса в реальном времени


Здравствуйте Эксперты,

Вопрос был задан мне интервью. Предположим, что я-10-й стандартный ученик, а вы (эксперты) - мои учителя. Как вы собираетесь объяснить о интерфейсе 10-му стандартному студенту. Приведите мне пример сценариев реального времени. Пожалуйста, не публикуйте эту ссылку.

Заранее спасибо!!!

Sergey Alexandrovich Kryukov

В реальном времени, ага... :-)
--СА

4 Ответов

Рейтинг:
29

uspatel

Как вы знаете
Интерфейс содержит только сигнатуры методов, делегатов или событий. Реализация методов осуществляется в классе, реализующем интерфейс.
когда вы имплементируете интерфейс ,вы очень уверены, что метод в интерфейсе реализован в классе.

Можно сказать, что интерфейс-это класс, который содержит все нереализованные методы, реализованные в классе, реализующем его.

Воспользуйся:

Предположим, у вас есть проект с большим количеством классов, и каждый класс не имеет никаких методов.
Итак , как вы знаете, какой класс реализует методы perticuler.Мы создаем интерфейс для каждого/некоторых классов и реализуем эти интерфейсы в этом классе.

Видеть это
Обсуждение


Kiran Sonawane

Все правильно. Вы забыли, что я 10-й стандартный студент. Я не знаю методов делегатов ..... Мне не нужен технический ответ. Забыл про .net/C#

uspatel

Хорошо,
Я могу попробовать...
Предположим, Ваши родители дают вам список предметов для покупки,
этот список-это интерфейс, который вы будете реализовывать во время покупки.....
Значит , прежде чем что-то реализовать, вы перечисляете, что вам нужно сделать, чтобы это был интерфейс......

Shobana George

Действительно хороший

ravithejag

идеальный ответ

yuvafun

Это очень очень хороший и совершенный ответ

Member 12770171

Трогательный ответ для всех тех разработчиков, которые путаются в интерфейсе, даже после того, как имеют отраслевой опыт, как я :)

Member 11553850

Довела меня до слез! Вау

lachhar

сердце трогательное объяснение. Слава богу!!

uspatel

Спасибо

Shabana Parveen

если в списке упоминается, что получить предмет платья за 10 долларов означает, что это будет абстрактно, так как вы можете купить футболку, кепку или что-нибудь еще за 10 долларов!!! Кстати, все методы в интерфейсе абстрактны. не уверен, что аналогия подходит....

uspatel

На него был дан ответ, чтобы иметь в виду 10-го стандартного студента.):
Я пытаюсь ответить на ваши сомнения, видите ли, что список никогда не может быть абстрактным классом, что сам список не имеет никакой реализации. Человек(класс), который собирается реализовать этот список (интерфейс), может реализовать все методы в списке или человек может играть роль абстрактного класса, некоторые методы он может реализовать, а другие он может упомянуть как абстрактные для своего дочернего класса. Поскольку абстрактный класс может реализовать интерфейс, то в этом случае абстрактный класс может дать определение некоторым релевантным методам и сделать другие методы абстрактными, которые будут реализованы дочерним классом этого абстрактного класса.
Надеюсь, это поможет.

Shabana Parveen

я сказал абстрактный класс в списке...кажется, я этого не говорил!!!

Rukhsar Ahmad

recevie love из Пакистана, замечательный ответ. да благословит вас Бог

Member 12036567

Очень четкий ответ ... Спасибо.

Rukhsar Ahmad

Дон весь интерфейс в одной хорошей строке

Kiran Sonawane

Аааа!!! Очень уникальный пример... Действительно в реальном времени.. мои 5+

Kiran Sonawane

Ваше решение принято. спасибо снова

uspatel

Добро пожаловать........

[no name]

Мой Голос 5

uspatel

Спасибо Вену........

uspatel

вы также можете найти несколько интересных часто задаваемых вопросов по интерфейсу
http://www.queryingsql.com/2013/10/interview-faq-on-interface-in-c.html

Santosh K. Tripathi

5+

[no name]

Хороший ответ

Member 13284141

мило..!!

Рейтинг:
27

sravani.v

Я могу привести два типа примеров "реального мира" - один из делового мира и другой из истинного "реального мира"."
реальный мир:
У вас есть класс животных. Это абстрактный класс, потому что вы не можете создать экземпляр универсального "животного", но он обеспечивает базовую функциональность.
У вас есть много различных классов животных. У вас есть HomoSapiens, Утконос, Пингвин (который расширяет птицу, другой подкласс животных), жираф, Домашняя муха и т. д. Каждый из них является конкретным классом, который может быть инстанцирован (конечно, есть несколько уровней абстрактных классов между ними и животными (например, Chordata и т. д.)
Теперь ты хочешь заставить что-то летать. Что может летать? Птицы и домашние мухи (среди прочих), поэтому эти классы должны обеспечивать аналогичную функциональность, даже если они широко расположены в нашем дереве наследования. Решение проблемы? Заставьте их использовать интерфейсы. Птица и Домашняя муха не могут одновременно реализовать интерфейс Flyer, поэтому всякий раз, когда мы хотим, чтобы что-то летало, мы можем использовать объект Flyer, не заботясь о том, птица это или Домашняя муха. Аналогично, пингвины и Playtpuses могут реализовать интерфейс Swimmer (и Penguin должен бросить IllegalOperationException в любом из своих методов Flyer, так как пингвины не могут летать).
Что касается бизнес-примеров, то у меня есть механизм персистентности, который будет работать с любым источником данных (XML, ASCII (разделенные и фиксированной длины), различными источниками JDBC (Oracle, SQL, ODBC и т. д.) Я создал базовый абстрактный класс, чтобы обеспечить общую функциональность в этом постоянстве, но создать экземпляр соответствующего "порта" (подкласса) при сохранении моих объектов. (Это значительно облегчает разработку новых "портов", поскольку большая часть работы выполняется в суперклассах, особенно в различных JDBC; поскольку я не только занимаюсь персистентностью, но и другими вещами [например, генерацией таблиц], я должен обеспечить различные различия для каждой базы данных.)
Лучшими бизнес-примерами интерфейсов являются коллекции. Я могу работать с java.util.Список, не заботясь о том, как он реализован; наличие списка в качестве абстрактного класса не имеет смысла, потому что существуют фундаментальные различия в том, как работает ArrayList в отличие от LinkedList. Аналогично, карта и набор. А если я просто работаю с группой объектов и мне все равно, список это, карта или набор, я могу просто использовать интерфейс коллекции.
Надеюсь, что это поможет


Kiran Sonawane

Мои 5+. Но проверьте ответ умы Шанкар Патель. Очень просто!!!!

Santosh K. Tripathi

5+ и от меня тоже.

Рейтинг:
1

Abhinav S

Интерфейсы используются для кодирования сходств, которые разделяют классы, но не обязательно образуют отношения классов. Например, собака и Лев могут одновременно run Мы бы заставили их унаследовать Animal класс а затем реализовать Run через interface IRun.

Книга для начинающих может помочь вам узнать и это.


Kiran Sonawane

Спасибо за ответ. Я могу сделать это с помощью простого абстрактного метода в классе. Например, добавьте абстрактный метод "Run" в класс animal. Тогда почему интерфейс? (Пожалуйста, объясните на том же примере)

Abhinav S

Хорошо, не думайте о методе запуска. Подумайте о чем - нибудь вроде воя-собака может выть, но Лев не может.
Для собаки может потребоваться интерфейс IHowl.

Santosh K. Tripathi

хороший вариант. 5+

johannesnestler

Я думаю, что ваш ответ "лучший" - потому что простой, никаких глубоких знаний программирования не требуется. Другие ответы могут быть технически правильными, но если я расскажу маме об абстрактных классах, она будет потеряна ;-)

Abhinav S

Спасибо. :)

Рейтинг:
1

Chandrakantt

Перейдя по ссылке ниже вы можете получить хороший пример интерфейса и абстрактного класса на очень простом языке

http://shivasoft.in/blog/java/difference-between-interfaceinheritance-abstract-class/[^]

Вы также можете перейти по ссылке ниже, в которой обсуждался интерфейс и абстрактные классы... что поможет вам лучше понять концепцию

Реальные примеры абстрактных классов и интерфейсов?[^]