powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Интерфейсы - зачем?
4 сообщений из 4, страница 1 из 1
Интерфейсы - зачем?
    #35265876
t0rch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую, уважаемые!
Никогда толком не работал с интерфейсами, подскажите, пожалуйста, нафига они?
Вот давайте с конкретного примера. У нас есть накладная (Bill) и нужно вывести её на печать, или в MS Excel или в ексель OpenOffice. По старинке можно залепить два разных класса, ну или один, первым параметром передавать массив данных, вторым куда выводит на печать.
Вот в этом примере могут мне как-то помочь интерфейсы?

Я могу сделать
Код: plaintext
1.
2.
3.
4.
interface IReport
{
    void Print(SomeData data)
}
и потом
Код: plaintext
1.
2.
3.
interface IBillReport : IReport
{
}
и совсем потом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
class MSExcel : IBillReport
{
    void Print(SomeData data)
    {
     //Print
    }
}

Лучше ли решение с интерфейсами? Почему?
...
Рейтинг: 0 / 0
Интерфейсы - зачем?
    #35265912
Andaim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
давайте другой пример рассмотрим, допустим у вас есть сервер. Который должен поддерживать некий набор функций func1, func2, func3. И есть клиенты, которые должны эти функции использовать. Т.е. и сервер и клиенты должны знать семантику этих функции, но при этой клиенты не должны знать, реализацию этих функции, типо секрет =) Делаем интерфейс, в который включаем эти функции и делаем на сервере реализацию этого интерфейса. В итоге и волки сыты и овцы целы, т.к. мы предоставили клиенты минимально необходимую информацию для работы с сервером, которая вся включена в интерфейс
...
Рейтинг: 0 / 0
Интерфейсы - зачем?
    #35266321
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andaimдавайте другой пример рассмотрим, допустим у вас есть сервер. Который должен поддерживать некий набор функций func1, func2, func3. И есть клиенты, которые должны эти функции использовать. Т.е. и сервер и клиенты должны знать семантику этих функции, но при этой клиенты не должны знать, реализацию этих функции, типо секрет =) Делаем интерфейс, в который включаем эти функции и делаем на сервере реализацию этого интерфейса. В итоге и волки сыты и овцы целы, т.к. мы предоставили клиенты минимально необходимую информацию для работы с сервером, которая вся включена в интерфейс

+1
интерфейсы вещь
...
Рейтинг: 0 / 0
Интерфейсы - зачем?
    #35266757
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
t0rch
Лучше ли решение с интерфейсами? Почему?
чтоб работать можно было с ними по человечески. Как с объектами.
Вот так например можно сделать очередь печати:
Queue<IReport> queue;

Пустой интерфейс вам врятли пригодится. А вот в абстрактный класс можно вынести общую часть реализации всех BillReport.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Интерфейсы - зачем?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]