Ropedann 45 Report post Posted February 3, 2023 Думаю многие знают что в программировании существует такая штука как [ interface ] Не могу ни как понять зачем и для чего они нужны. Везде описано все как то в общих чертах. Пишут и рассказывают как ими пользоваться, но зачем ни кто адекватно объяснить не может. Ниже привожу пример использования интерфейса. Но по сути все бы работало и без него. internal interface IAnimal { void animalSound(); } class Pig :IAnimal { public void animalSound() { Console.WriteLine("wee wee wee..."); } } Pig pig = new Pig(); pig.animalSound(); Хотелось бы вызвать пояснительную бригаду. Quote Share this post Link to post Share on other sites
BXlevovich 23 Report post Posted February 5, 2023 (edited) @Ropedann в твоём примере можно спокойной обойтись без интерфейса. Интерфейсы - это как спецификация, которая определяет какие методы должен содержать класс, если он хочет следовать этому интерфейсу. Они позволяют разработчикам создавать код, который может быть использован вместе с другими классами, не зная их реальной реализации. Это повышает гибкость и повторную используемость кода. IAnimal - это интерфейс, который определяет метод animalSound(). Pig - это класс, который реализует интерфейс IAnimal и переопределяет метод animalSound(). Edited February 5, 2023 by BXlevovich Quote Share this post Link to post Share on other sites
Ropedann 45 Report post Posted February 7, 2023 В 05.02.2023 в 10:33, BXlevovich сказал: @Ropedann в твоём примере можно спокойной обойтись без интерфейса. Интерфейсы - это как спецификация, которая определяет какие методы должен содержать класс, если он хочет следовать этому интерфейсу. Они позволяют разработчикам создавать код, который может быть использован вместе с другими классами, не зная их реальной реализации. Это повышает гибкость и повторную используемость кода. IAnimal - это интерфейс, который определяет метод animalSound(). Pig - это класс, который реализует интерфейс IAnimal и переопределяет метод animalSound(). Спасибо за ответ. Quote Share this post Link to post Share on other sites
V3ct0r 2,145 Report post Posted May 1, 2023 Привет, @Ropedann! Интерфейсы нужны чтобы программировать на уровне абстракций, а не на уровне конкретной реализации. Иными словами, ты можешь, например, написать код, который будет скачивать файлы для обновления игрового клиента, с FTP, через HTTP или с Git. То есть один и тот же код будет работать с разными протоколами обмена файлами, плюс тебе будет проще в будущем добавлять новые протоколы. Если хочешь больше разобраться в этой теме, то посмотри в сторону шаблонов проектирования (Design Patterns), там очень широко используется понятие интерфейса. 1 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites