powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Что лучше создать - абстрактый класс или интерфейс?
13 сообщений из 13, страница 1 из 1
Что лучше создать - абстрактый класс или интерфейс?
    #38323140
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

Существуют различные классы покупателей, соответственно, по разному реализованы методы Add, Delete, Update.
Вопрос - нужно ли создавать абстрактный класс или интерфейс, в котором создать методы Add, Delete, Update, а в кассах покупателей уже их переопределять? Как будет более по-профессиональному выглядеть код?
...
Рейтинг: 0 / 0
Что лучше создать - абстрактый класс или интерфейс?
    #38323149
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что такое "различные классы покупателей"?
Например, может-ли один покупатель быть в разных классах? Тогда - интерфейсы.
...
Рейтинг: 0 / 0
Что лучше создать - абстрактый класс или интерфейс?
    #38323154
Нужно поведение декларировать в интерфейсах

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

ЗЫ Вообще хотелось бы увидеть то что уже реализовано, можно UML
...
Рейтинг: 0 / 0
Что лучше создать - абстрактый класс или интерфейс?
    #38323156
Studentossan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Students,
Скорее всего однозначно через репозитарий.
Код: c#
1.
public interface IRepository<T> where T: class


но лет пять тому, при собеседовании про базовые свойства пипла, я ответил через базовый абстрактный или интерфейсы
на что получил ответ что через интерфейсы в принципе не возможно, даже аргумент что интерфейс есть абстрактный класс
в байт коде их очень позабавил и вызвал улыбку.
...
Рейтинг: 0 / 0
Что лучше создать - абстрактый класс или интерфейс?
    #38323159
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, например, продавец продаёт оружие. Покупателями могут выступать:
1)простые люди
2)компании
3)страны

Соответственно под каждого типа покупателя я создаю класс с методами Add, Delete, Update.
Кроме того, они могут выть связаны, т.к. люди работают (или не работают) в компаниях, компании находятся в странах.
До репозитария я ещё не дорос, абстрактный класс и интерфейс - разные, т.к. в интерфейсе методы не имеют реализации (а мне и не нужно их реализовывать, я всё реализую в классах покупателей). Т.е. лучше через интерфейсы, правильно я мыслю?
...
Рейтинг: 0 / 0
Что лучше создать - абстрактый класс или интерфейс?
    #38323163
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students,

Ну, если их всего три штуки, а страна не может быть частным покупателем, тогда как удобнее.
...
Рейтинг: 0 / 0
Что лучше создать - абстрактый класс или интерфейс?
    #38323167
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ясно, спасибо.

Различных типов покупателей много, просто мне нужно показать, как бы я делал, если бы это было часть большого проекта.
Я склонялся к такой версии:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
public interface IClient
    {
        void Add();
        void Update();
        void Delete();
    }

    public class ClientCustomer : IClient
    {
        public static void AddCustomer()
        {

        }
        public static void UpdateCustomer()
        {

        }
        public static void DeleteCustomer()
        {

        }
    }

    public class ClientCompany : IClient
    {
        public static void AddCompany()
        {

        }
        public static void UpdateCompany()
        {

        }
        public static void DeleteCompany()
        {

        }
    }



Решил у вас спросить. Спасибо за ответы, тогда сделаю так.
...
Рейтинг: 0 / 0
Что лучше создать - абстрактый класс или интерфейс?
    #38323169
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тьфу ты. Т.е. вот к такой версии:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
    
    public interface IClient
    {
        void Add();
        void Update();
        void Delete();
    }

    public class ClientCustomer : IClient
    {
        public static void Add()
        {

        }
        public static void Update()
        {

        }
        public static void Delete()
        {

        }
    }

    public class ClientCompany : IClient
    {
        public static void Add()
        {

        }
        public static void Update()
        {

        }
        public static void Delete()
        {

        }
    }



А какая разница - может страна быть покупателем или нет?
...
Рейтинг: 0 / 0
Что лучше создать - абстрактый класс или интерфейс?
    #38323170
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё вопрос - если у меня параметром для удаления человека служит email, а для удаления компании - её название, то это правильно будет? Т.е. в интерфейсе метод Add без параметров, а в различных классах у метода Add будут разные параметры.
Так нормально?
...
Рейтинг: 0 / 0
Что лучше создать - абстрактый класс или интерфейс?
    #38323174
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StudentsЕщё вопрос - если у меня параметром для удаления человека служит email, а для удаления компании - её название, то это правильно будет? Т.е. в интерфейсе метод Add без параметров, а в различных классах у метода Add будут разные параметры.
Так нормально?
Нормально. Я о том говорил, что Вы написали "простые люди", то есть, как я написал "частные покупатеои". Вы меня просто не поняли.
...
Рейтинг: 0 / 0
Что лучше создать - абстрактый класс или интерфейс?
    #38323176
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно, спасибо большое за ответы.
...
Рейтинг: 0 / 0
Что лучше создать - абстрактый класс или интерфейс?
    #38323187
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://stackoverflow.com/questions/6114519/how-to-create-method-interface-with-variable-parameters-different-method-signa

Тут написано, что если в классе будут разные параметры, то нельзя делать, как я сделал
...
Рейтинг: 0 / 0
Что лучше создать - абстрактый класс или интерфейс?
    #38323330
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отдельные модели и репозитории под каждый класс без всяких общих свойств
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Что лучше создать - абстрактый класс или интерфейс?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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