C# — Абстрактный класс vs Интерфейс

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

Видео по интерфейсам

Заходите и подписывайтесь на наши другие ресурсы!

Музыка: Toronto - Da Tooby
Рекомендации по теме
Комментарии
Автор

NICOLAS_MOM_WEIGHT = POSITIVE_INFINITY

КириллШепелев-хи
Автор

Понял разницу в другом видео, здесь закрепил
Если абстр класс это транспортное средство, то объект - это, например самолёт или танк или ментовский бобик, т.е объект ЯВЛЯЕТСЯ абстрактным классом, самолёт - это транспортное средство, и тд. А вот интерфейс это например то, что это транспортное средство МОЖЕТ делать - двигаться. Например лететь в Тайланд или везти тебя с мигалками, при чём второй вариант веселее и бесплатный. Т.е. самолёт реализовывает интерфейс и теперь он может двигаться, но он может и не делать этого, если это например памятник второй мировой. В таком случае он является самолётом, т.е объектом абстрактного класса транспортное средство, но может реализовывать другой интерфейс, например быть фоном для селфи

danyloandreiev
Автор

Не обязательно методы, реализуемые интерфейсом должны быть публичны. Можно сделать internal интерфейс и реализовать его явно в публичном классе. Пример - Tuple<T> : ITuple

jgkdmdevienjjgg
Автор

Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?

denisgavr
Автор

Может кто-то сильно удивится, но в C++ "ключевое" слово interface - синоним ключевого слова class. Ноги отсюда растут. И из COM. По сути интерфейс это возможность сделать множественное наследование на нескольких абстрактных классах, но обламывая возможность сломать себе ногу в нескольких местах при этом. Кстати такая же фигня есть в делфи, но там интерфейсы - удовольствие весьма сомнительное.
Это было техническое различие. А есть еще различие по способу применения. Так вот - интерфейсы используются когда нужна слабая связанность компонентов системы, так как они не содержат релизации, когда нужно код распихать по различным независимым dll-кам (Привет COM). Абстрактные классы же просто используются при построении иерархий наследования как более базовые типы.

jgkdmdevienjjgg
Автор

Все это необходимо объяснять в контексте паттернов, использующих данные конструкции языка. Чтобы у людей было понимание не только что это такое, а и когда и как это нужно правильно использовать.

ppc
Автор

То есть интерфисы мы можем использовать для различных объектов ну как в примере : IMovable, машина, собака, кот... они все могу передвигаться! А abstract class используется точно для конкретнои цели, public abstract Vehicle - тока для авто ?

IonWP
Автор

Спасибо за пересказ статьи из метанита

navi
Автор

Если класс можно
в некотором смысле назвать абстракцией объекта, то interface можно
назвать абстракцией методов. K.O.

Skreepan
Автор

Очень приятные видео, спасибо за контент! :)

sergey
Автор

Жалко что ваш дискорд сервер умер, эх, столько хороших воспоминаний с него, столько хороших людей..

rubi
Автор

На дворе 21 год и уже с появлением .net core 5 в интерфейсы так же можно закладывать базовую реализацию. Всем спасибо, ностальжи, видео не останется забытым!!

npozh
Автор

ваще понятно. автор объяснил примерно на уровне: знак главная дорога желтый а стоп красный

NikitaJe_
Автор

Где маты, собачки и маслята?) Не узнаю этот канал в молодости)

MrWolfmen
Автор

Если коротко то. Абстрактный класс - обычный класс от которого наследуются.

А интерфейс - описание методов для множества независимых классов между собой.

qwertymangames
Автор

как же сложно понять эту ересь без практики её использования. Сейчас немного прояснилось

zealot
Автор

очень поверхностно, этого не достаточно для понимания...

andrewsed_uplisten
Автор

Начиная с С# 8 с интерфейсами началась какая-то жопа. Теперь они зачем-то хранят в себе значения свойств. Нафига, не понятно. Зато баги полезли из-за дублирования одних и тех же свойств в классе и интерфейсе.

saint
Автор

Пока что понимание интерфейса такое что в интерфейсе мы пишем что есть Организация и она запрещенная, а в каждой реализации мы как бы клеймим метод и даем всем понять что эта организация запрещенная на территории определенной страны

clownkrusty
Автор

Автор совершенно не разбирается в теме, зачем снимать видео, если сам не углубился в вопрос? "Чухчухчух" говорит паровозик. Атписка.

evgeniyreshetov