Интерфейсы и с чем их едят

В этой статье буду рассмотрены основные моменты при использовании интерфейсов.
Перед прочтением рекомендуется ознакомиться с наследованием классов и преобразованиями типов объекта.
Статья
23 9 269
29
Batnik:
Будут еще статьи про C#?
Да. Я как раз над этим работаю.
Просто щас тут еще и понкурс по картам вк3 и времени мало остается, но статьи будут!
*конкурс
9
Да банально позволяет "выдергивать" из класса только тот функционал, который нужен.
26
Важное свойство интерфейса в том, что он ограничивает доступ к реализации класса. Классу А, работающему со сложным классом Б, не обязательно знать о всех методах и свойствах класса Б. Однако, если класс Б реализовывает определенный интерфейс, класс А может об этом знать, и вместо того чтобы работать с многочисленными методами класса Б, он может общаться с ним через интерфейс, получив доступ только к тем методам, которые ему важны.
Есть даже простой пример на реальных объектах - корпус вашего системника. Внутри системника куча функционала, разъемов, проводов и т.д., однако сам корпус обеспечивает вам доступ к самым важным элементам - кнопкам управления и выходам для различных девайсов. Представьте себе если бы порт USB находился на самой материнке, и чтобы найти его, вам приходилось бы высматривать его с десятков других разъемов на материнке.
28
GeneralElConsul, интерфейс это класс в котором все методы абстрактные и публичные (и прочие искусственные фичи наподобие множественного наследования)
но тут судя по вопросу человек не понимает не в чём отличие абстрактного класса от интерфейса а применение полиморфизма
29
Ну отсутствие состояния и реализации методов (что и позволяет множественно наследоваться) и отличает интерфейс от абстрактного класса.
9
Да просто человек сказал, что он не понимает смысл интерфейсов, а вы ему давай писать то, для чего и обычный абстрактный класс сгодиться, не затрагивая сути его существования - так он точно не изменит свою точку зрения.
Хотел бы слепить такой серверный мультиплеер:
•Игроки имеют обзор от 1/3 лица и могут выложить предмет (физика не обязательна), главное чтоб сервер запоминал каждый раз при выключении на какое место положили вещь и чтобы она там могла лежать вечно либо в контейнер.
•Физика и бои пойдут на уровне WoW.
•Админ сервера…
Вопрос
2 1 092
9
Насколько помню первоначальный вопрос - Unity или Unreal. Для этих целей подойдет и то, и то. На самом деле люди часто выбирают именно тот движок, который им больше нравиться, плюя на то, подходит он чуть больше или чуть меньше для их задач - если умеешь работать с двиглом, то сможешь сделать практически все. Поэтому желательно попробовать оба или хотя бы посмотреть видосы, понять, какой тебе нравиться.
А если говорить про удобство изучения с нуля, то, естественно, это Unity. Я бы рекомендовал начать пробовать с него. Если он тебе понравиться, то и пробовать Unreal смысла особого нет, тем более то, что ты писал в первоначальном варианте вопроса - чисто случай, для которого идеально подходит Unity.
22
Если язык программирование сложен то Unity поможет если не хотите с нуля писать...