Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Теория ООП / Интерфейс. Зачем он нужен.

  • На этом уроке я объясню своими словами, что такое интерфейс.
    Мы поговорим об игре "Голя" или "Сифа" или "Вода",
    о том, кто в неё может играть, и что делать тем,
    кто не знает правила игры.
    В конце урока мы создадим наш интерфейс.

    Правила игры, для тех, кто не знает:
    Выбирается ведущий.
    Его цель - догнать и дотронуться до кого-либо из участников.
    Цель остальных - не допустить этого.
    Когда ведущий дотронется до кого-либо (заголит) - ведущим становится новый участник.
  • Дата отправки отчёта: 24 апреля 2018 г.
  • Задание выполнено: за 26 мин.
  • Чему научился: Создал новый проект и добавил в него интерфейс....
    Почитал определение интерфейса. Понял так:
    Интерфейс это набор методов и свойств, функционал которых  в нем может  не иметь реализацию. Реализовывать данный функционал мы можем в классах применяющих данный интерфейс.
    Это чем то похоже на абстрактные классы....
  • Что было сложным: --
  • Оценка видео-уроку:
Отчёт от 16218 за Теория ООП / Интерфейс. Зачем он нужен.




Оцени работу

 
Сохранить страницу:

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # Теория ООП / Интерфейс. Зачем он нужен. / 2018-04-25 08:23

В интерфейсе только методы описываются.
Хотя, сейчас даже имплементацию пытаются в интерфейсы запихнуть :(.


16218. --
Дмитрий
Дмитрий
ответить
→  Евгений Волосатов  # Теория ООП / Интерфейс. Зачем он нужен. / 2018-04-25 08:40

Евгений. спасибо за уточнение. Буду знать.
Поискал в интернете, что такое имплентация...Но внятного для себя объяснения не нашел... Все что я понял что имплентация похожа на наследование...)))


10558. --
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Теория ООП / Интерфейс. Зачем он нужен. / 2018-04-25 09:15

Не удивлён, что ты не нашёл ничего по поводу слова "имплентация", такого слова нет, есть слово "имплементация", от слова "implement". Да, похоже на абстрактный класс, но интерфейс содержит только методы, которые обязаны быть реализованы в наследниках.


16218. --
Дмитрий
Дмитрий
ответить
→  Иван Воронин  # Теория ООП / Интерфейс. Зачем он нужен. / 2018-04-25 11:17

Это я в комментарии ошибся...Запрос в поисковике был на "имплементация". Иначе я бы не нашел информацию про сходство с абстрактным классом.
Но я все равно не пойму конкретику про имплементацию... Интерфейс - это интерфейс, а имплементация то конкретно что такое.?..Или я что то упускаю и это тесно связанное переплетение?


10558. --
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Теория ООП / Интерфейс. Зачем он нужен. / 2018-04-25 16:19

Попробую объяснить на примере ярлыков в Windows. Вот ты создал папку, создал в ней несколько ярлыков для работников фирмы. Это по сути и есть интерфейс с методами. Далее ты запаковал эту папку и распаковал каждому сотруднику её на рабочем столе, чтобы на каждом ПК они лежали в одинаковых местах, чтобы сотрудники не искали где на каждом индивидуальном ПК они есть, так проще. Так вот, папка с ярлыка работать сама по себе не будет на других ПК, если ты не установишь ПО на которое они ссылаются в теже места, куда ссылаются ярлыки, так и тут, ты обязан реализовать методы интерфейса, чтобы всё работало как надо. Интерфейс поэтому и назвали так, что он выполняет именно роль интерфейса. Т.е. рычаги взаимодействия с объектом. Ты же вроде проходил "Теорию ООП", наверное надо пройти ещё и Шаблоны проектирования на Java. Чтобы посмотреть на интерфейсы с другой колокольни и лучше усвоить их суть. Они используются, когда надо взаимодействовать с кучей объектов по одному и тому же принципу, даже если они отличаются друг от друга. К примеру, человек и носорог, абсолютно различные виды, но у них общие интерфейсы: естественный потребности (пища, сон, воздух, вода...) и т.д. Можно объединить данные объекты в одном массиве/списке... и перебирая их взаимодействовать с нужным интерфейсом, к примеру, опросить на сколько процентов каждый голоден или уставший. Интерфейс определяет ОБЯЗАТЕЛЬНЫЕ методы объекта, которые нужно реализовать.


  • Отчёт оценивали:
    8275Tekashnik+1   16066Bodrik_torf+1   5394Anton+1   4395Денис+1   1Евгений Волосатов+1   6452Кирилл Шмойлов+1   9980Timoha+1   17606Виктор+1   17443WildOrc+1   8380zhikharevav+1   16496Pavlin+1   17947Dmitry Sinitsin+1   10558Иван Воронин+1   15525Владимир+1   3850Григорий+1   10494Алексей В.+1   3747Сергей+1   9156Dimon+1   3922Александр+1   791Валерий Жданов+1   459Сергей Сергеевич+1   17093jin+1   18272Ramzan0   16533Андрей Шевченко+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: создавать интерфейс. Интерфейс - это список функционала без реализации. Очень короткий и простой урок.((
Трудности: Ничего. Но возник вопрос: создать сразу interface, а не class мы можем? Или интерфейс всегда создаётся через создание класса?



Научился: узнала что такое интерфейс, потренировалась создавать интерфейс, выразить простым языком не простое понятие :)
Трудности: очень понятное слово, которым часто пользуемся, а выразить его не так-то и просто простым языком, надеюсь у меня получилось и тебе понятно что такое интерфейс!
Интерфейс - это механизм, который дает возможность обмениваться информацией, чего-либо ☞ любому, например мне понравилось такое определение: Физический интерфейс - это бактерии закрепленные на нервных волокнах внутри тела и преобразующие биотоки в инфракрасные сигналы, которыми обмениваются киборг-бактерии. Увлекательный и интересный урок, заставил меня еще больше задуматься! Спасибо тебе Евгений! :)