Что такое интерфейс в ООП. Интерфейс c++ пример. Изучение С++ для начинающих. Урок
HTML-код
- Опубликовано: 22 ноя 2017
- Что такое интерфейс в ООП. Интерфейс c++ пример. Изучение С++ для начинающих. Урок #113
Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут! =)
www.donationalerts.ru/r/simple...
или тут
/ simplecode
Наследование в ООП пример. Что такое наследование. Для чего нужно наследование классов. ООП. C++ #98
goo.gl/ZPULRW
Виртуальные методы класса c++. Ключевое слово virtual. Ключевое слово override. ООП. C++ #103
goo.gl/WXh9fo
Абстрактный класс с++ пример. Чисто виртуальная функция. virtual. override. Полиморфизм ООП C++ #104
goo.gl/v8g8DZ
Множественное наследование c++ пример. ООП. Изучение С++ с нуля для начинающих. Урок #109
goo.gl/D65A66
Поддержка канала
/ simplecode
Уроки по программированию
Наша группа ВК smplcode
Подписывайтесь на канал / @simplecodeit
Лайк за табуретку на которой можно ездить:)))
Как- то примерно на 50 уроке попал на это видео и ничего не понял, сейчас понял всё. Так здорово чувствовать прогресс)
ты понял не с этого урока, этот урок такой же как и все остальные
С первого урока с вами, можно сказать с самого начала моего пути в изучении С++, абсолютно все уроки полезные. Спасибо вам за ваш труд !
Тоже самое)
как сейчас успехи?
как успехи@@NoOneNOW
*Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)*
Не у всех друзья программисты)
У меня нет ни одного друга, который умеет программировать(((
:CCC
Вы не представляете, насколько это грустно. Я даже предлагал научить их...
ВООБЩЕ НИ ОДНОГО!!!
@@user-mm5ln4qh5q у меня тоже)))\
Cамый лучший курс !!! Cпасибо.
Это видео произвело на меня впечатление, потому что вы объединили те кусочки информации из последних уроков, которые по отдельности не совсем понятно для чего нужны, и получили интерфейс в качестве результата. Аплодирую стоя, это удивительно, видеть результат, а главное понимать каждую строку кода))) спасибо вам!
sorry to be offtopic but does any of you know a method to get back into an instagram account??
I was stupid forgot my password. I would appreciate any tricks you can give me
@Aaron Dominic Instablaster :)
@Jameson Cade I really appreciate your reply. I found the site on google and I'm in the hacking process now.
Seems to take a while so I will reply here later with my results.
@Jameson Cade it did the trick and I finally got access to my account again. I am so happy!
Thank you so much you really help me out :D
@Aaron Dominic happy to help :D
IBicycle звучит как какой-то эпловский велик
Спасибо! Очень Важный урок!
Спасибо за видео, как всегда было очень доходчиво.
превет мне 10 лет я учусь програмировать на с++, спасибо за уроки : )
Очень круто! Если не забросишь, к 14-ти годам сможешь уже работать, совмещая с учёбой в школе.
Молодец
ты крут
то же самое
Скажи мне, у тебя получается?
Мне в 14 были дико сложно
#интерфейсвооп #SimpleCode #урокипрограммирования
Очень понравился материал, спасибо большое!)
Так по-сути мы уже делали "интерфейс" - class Weapon в уроке #104 !
Разница только в том, что там мы работали с указателями, а здесь объекты передаем по ссылке.
Отчасти да, только в class Weapon по задумке подразумевается, что туда могут быть добавлены другие поля и методы С РЕАЛИЗАЦИЕЙ, а тут всё БЕЗ реализации должно быть
благодарю!
Спасибо за урок.
Спасибо большое за Ваши уроки! Очень доходчиво :)
Классный урок, спасибо!
Сергей огромнейшее спасибо, что помог понять для чего нужны интерфейсы. Вы привели реальный пример взаимодействия с базой данных, который помогает понять как взаимодействует интерфейс в программе. Другие объясняют на примере кошечек и собачек и ихнее гав-гав, мяу-мяу или читают что написано в вике. А у вас реальный понятный пример на кой интерфейс нужен. Как говорится, кому дано передать знания тот велик! Спасибо еще раз!
классно, щас интересное началось, пасиба))
Сергей, спасибо!
Спасибо Сергей урок Огонь !
Пожалуйста!
спасибо за урок, как всегда все очень подробно детально)
Спасибо.
Спасибо большое за урок !
Спасибо большое за бесценный труд!)
Спасибо,всё довольно понятно
В 19 Visual Studio есть отдельное понятие __interface , если создавать интерфейс через него результат будет аналогичный. Я так понимаю что в связи с развитием языка спустя 3-4 года ввели отдельное ключевое слово для определение интерфейсов. Возможно в текущих реалиях использовать ключевое слово будет правильнее, и не даст запутаться .
Да, C++ очень сильно развивается, не такой уж он ужасный теперь
Очень понятно, спасибо !
Спасибо
Спасибо за урок!
Хорошее видео! Спасибо!
спасибо!!!!
Спасибо за табуретку, ой спасибо за урок:))
Очень хорошо объяснили. Учусь на неродном языке. Ваше видео помогли повторить и закрепить пройденое.
интерфейсы очень важная вещь
Все понятно Спасибо
super!
очень полезные уроки
А в остальном спасибо за уроки!!!!!!!!
спасиббо
спасибо
Аналогичное конечно было ранее с WEAPON для абстрактных и виртуальных классов. Реальной реализации "interface" к сож. нет в плюсах.
А в чём разница?
Если вы имеете в виду реализацию аналогично Java, то с VS 2019 есть __interface
На примере кода с оружием можно делать урок, тоже самое.
Оказывается я использовал интерфейсы даже не зная, что это интерфейсы :)
Офигеть, даже дизлайки ставят, что за народ, им полезную инфу дают в самом доходчивом варианте, а они еще и гадят....А тебе автор( Сергей ), огромное спасибо) куча тем, что я не мог самостоятельно разобрать, ты объяснил за какие-то 5 -10 минут. Много каналов облазил, самый толковый канал твой. Честно говоря обидно, что кто-то набирает по 300000 - 500000 просмотров на кривых объяснениях, после которых приходится лазить в по сети в поисках более понятного объяснения. А у тебя вроде и канал хороший, полезный, и объяснения самые доходчивые, а просмотров мало, про лайки я вообще молчу.
В общем к чему я это все. Спасибо дружище, за твой колоссальный труд) от твоей не шипко благодарной аудитории))
Прохожу обучения в Skillbox, на Stepik. Топлю за тебя))))
Заметил кучу ситуаций, когда они не могут нормально донести информацию. Благо, когда что-то не понятно, есть твой канал, куда могу заскочить за понятным объяснением :D
И на последок, помни, что в числе твоих подписчиков есть люди, которым ты реально очень помог и помогаешь в понимании этой не простой профессии. И они тебе благодарны))
P.S. Не забивай на С++, надеюсь будешь добавлять еще уроки)) А то открыл видос про C#, а там ты говоришь, что в С++ ты не все рассказал, но в С# будет и уроков больше и инфы больше)
Люди разные бывают, возможно троль поставил чтобы посмеятся и сказать какой я крутой. Возможно у человека может день не удался и это видео под горячую руку попалось и поставил дизлайк(у меня было такое, и я понимаю таких людей), либо просто человеку какое то слово в видео не понравилось. И всем этим людям по*** на информацию в видео так как они рассматривали это видео со стороны "развлечения" или вывода своей злобы. Так что для них аргумент "информация" или "понятный разбор" бессмыселен у них другая была цель, у тебя другая. Ты её рассматривал со стороны образования и оценил это, другие могут его оценить со стороны просто позабавится и напакасничять.
С интерфейсами я сразу понял что абстрактный класс по идее заменяет, в какой то момент я подумал что в С++ тоже есть реализация интерфейса, ну что ж, будем знать что такого нет
Есть же __interface, можете про него рассказать?
Здравствуйте. Ваши уроки великолепны!
В этом видеоролике есть один нюанс - никто не заметил, критична ли разница следующих синтаксисов:
void virtual
virtual void
?
Никакой разницы
@@user-cs9kg4fb9x осуждаю эту страну
Интерфейсы должны себя наследовать только как public virtual Isomeinterface !
Почему?
Потому что это конракт
Жаль нельзя поставить отдельный лайк за табуретку
наканецта интырфэйсъI
Моё знакомство с данным каналом началось именно с данного видео, но тогда я ничего не понял))) Зато сейчас ...
Сергей всё как всегда отлично. НО я думаю что на пример слишком конкретный для интерфейсов в даном случае наверное лучше подошол абстрактный клас ибо у велосипедов много общего(крутить педали и руль в каждом велосипеде одинаково и разумней бы было сделать их а обыкновенных
методах) , а если б интерфейс реализовался скажем для движущихся обектов то это было б более подходяще (а з базами данных пример хорош ибо у них общий интерфейс но реализуется совершенно по разному)
коммент уважения
Можем ли мы использовать поинтера вместо референса?
а какое колесо надо крутить у велосипеда, чтобы рулить? переднее или заднее?
Dėkui
Кто из 2020 г.ставим лайк👍👍👍
уже наследование прошли, а ты все "новичок", да "новичок"
Ну а кто ещё? Тут даже stl ещё не начато.
да чел, то что он записывает здесь по c++ это для новичков, как бы печально это не звучало
Здравствуйте!
Правильно ли я понимаю, что интерфейс класса - это его функционал?
(Т.е. интерфейс - это данные о том, что класс умеет делать.)
Нет, в широком смысле, "интерефейс" - способ управления. Применительно к классу: публичные методы класса.
я после c#, объясни плз почему ты не выделяешь память через new при инстансе объектов? ты же пустые ссылки передаешь в аргументы?
а sql будет? если да, то в скором времени или нет? спасибо.
будет, когда не скажу =)
Для тех кто ставит дизлайки. Да придет к вам демон багов Криворук и нашлет на вас сто гор плавающих ошибок, которые нельзя отследить! За урок ОГРОМНОЕ СПАСИБО!
По сути тоже самое, что и в примере с оружием.
Я не очень понял почему объект который реализует интерфэйс является ссылкой на I Bicycle?
я обратил на это внимание и могу сказать, что работает и с указателями, и с ссылками. Только вот с указателем нужно поставить амперсант при передаче объекта в метод класса Human и в теле функции RideOn(IBicycle* bicycle) все точки после bicycle нужно заменить на "->".
В таком случае работать будет так же, как и через ссылку. Только вот на что это может повлиять я не знаю.
Чтобы не создавать копию объекта, а работать непосредственно с самим объектом, его полями и методами.
На 5:32 словил инфаркт жопы, подумав, что у меня на ноуте полетела матрица (;
Привет нужно создать программу которая тупо считает текст и показывает сколько % того или иного текста
Я: с нетерпением жду, когда наконец уже потеплеет, чтобы я мог покататься на велосипеде, и изучаю c++, чтобы отвлечься
Уроки по c++: рассказывают про интерфейс велосипеда xD
Хах, жизненно) Долго программирование изучаешь?
@@vadimvoitenko637 месяца три, но весьма нерегулярно)
@@GottyMintly как сейчас успехи, спустя год?
@@user-or1hy4xz8u недурно, курс прошёл, в универе проблем с программированием вообще не встречаю)
помогите пожалуйста вроде все делал также а в мейне пишет использование обьекта абстрактного класса не допустимо
Значит не все сделал так же. Закинул бы сюда код, может кто и подсказал бы.
Самую малость напоминает указатель на функцию в качестве параметра
Если я правильно понял: по сути тот же абстрактный класс из 104 урока, с "weapon"
class Human: public SimplBicycl
{
public:
void HM(IBicycl *z)
{
this->Twistthewill();
cout
в абстрактном классе хотя бы 1 метод будет виртуал, а в интерфейсе - все.
@@user-or1hy4xz8u С чего вы это взяли?
+
Алгоритм реализации в точности такой же как в уроке по абстрактным классам)) или я чего то не понял))
Скоро 2019!
2020 скоро) Как там, в 2019?)
@@alexgaran5339 Отлично) у нас скоро 2021, 2020 будет полным трешом)
скоро 2022!!!
@@dsigmatGames Щас 2022, и война.....
Сейчас же вроде уже завезли интерфейсы :)
Реально?
Я думал, смысл абстрактных классов в том, чтобы избавиться от лишнего кода, реализуя функции и свойства, общие для нескольки классов, в нем, но теперь у меня зрыв мозга. Зачем это нужно? Как оно отличается от того, если бы мы просто эти функции просто реализовали в каждом классе по-другому?
Суть в том, чтобы можно было работать с сущностями одинаково.
То есть интерфейс - просто абстрактный класс, у которого все методы чисто виртуальные. Но почему мы используем ссылку на интерфейс, а не указатель, как в прошлых видео? Имеет ли это значение? И если да, то на сколько?
я обратил на это внимание и могу сказать, что работает и с указателями, и с ссылками. Только вот с указателем нужно поставить амперсант при передаче объекта в метод класса Human и в теле функции RideOn(IBicycle* bicycle) все точки после bicycle нужно заменить на "->".
В таком случае работать будет так же, как и через ссылку. Только вот на что это может повлиять я не знаю.
Насколько я понимаю, не имеет, потому что ссылки и указатели по сути для одних и тех же целей нужны, только синтаксис у них разный.
@@Kokurorokuko под капотом ссылки реализованы с помощью указателей так что все будет одинаково
@@Kokurorokuko Для разных целей
@@user-bj9ic3rm7i Под капотом может быть все что угодно.
Почему если написать IBycicle& createBycicle() { return SportBycicle(); } а в main написать Human h; h.RideOn(createBycicle()); будет выполняться условие IBycicle, а не SportBucicle?
С велосипедом плохой пример - я пару лет не катался, и чуть не произошло такое, что я мог бы и не быть программистом xD
Раньше писали virtual void, а теперь пишем void virtual. Это нормально?
Есть один недочет. Вы объясняете быстро то, что нужно объяснять подробнее. И наоборот, то что можно сказать "двумя словами", то есть уже всем давно понятно, вы растягиваете и объясняете по много раз )))
у всех разное "давно понятно" и наоборот
То чувство , когда ты забыл, как кататься на велосипеде .
пфф, самая легкая вещь в ооп
Зачем в базовом классе интерфейса виртуальным методам присваивается 0?
это чисто виртуальный метод
@@lacklacktriplehack4174 Ну. А ноль зачем?
@@6666BLACKSATAN ...чтобы указать что метод чисто виртуальный
up
.
Что то не заметил разницы с абстрактным классом, что изучали ранее
Абстрактный класс - это класс, у которого ХОТЯ БЫ ОДИН метод чистый виртуальный. Интерфейс - это (абстрактный) класс, у которого ВСЕ методы чистые виртуальные.
@@Kokurorokuko В с++ вообще нет такого понятия "интерфейс"
@@princessmary5556 а "__interface" тогда что?
@@msjino В языке с++, все имена, которые начинаются с двойного подчеркивания зарезервированы для собственных нужд компилятора. (Each identifier that contains a double underscore __ or begins with an underscore followed by an uppercase letter is reserved to the implementation for any use) Таким образом, "__interface" - это особенность реализации конкретного компилятора. К с++ отношения она не имеет.
Что такое интерфейс ,можно кратко сказать плззз
Так и не понял я, как создавать интерфейс
ты каким местом смотришь?
@@TurboGamasek228пиздой твоей матери, к экрану поднёс её и смотрит
Это самая сложная абстракция, сколько смотрю разных видео никак не могу понять зачем это придумали...
Слова из песни мешают восприятию, лучше музыку ставить 🤷♂️
Там есть слова?
НЕ СЛЫШНА ТЫ ПРОСТО СИДИШЬ
Спасибо
спасибо
спасибо