2

Как будет правильно: класс модели или класс моделей?

Предполагается, что каждая "модель" является экземпляром этого класса. Вопрос про терминологию объектно-ориентированного программирования.

Допустим, на некотором языке программирования создается класс, каждый экземпляр которого является (по определению) моделью. Правильно называть этот класс "класс модели" или "класс моделей"?

5
  • Hi and welcome to Russian.SE! It's unclear what are you asking right now. Could you please provide some context and/or usage example? Thanks! – Quassnoi Dec 23 '15 at 18:29
  • @Quassnoi I have edited the question to be more clear what I ask – porton Dec 23 '15 at 18:33
  • 2
    вообще, нормально было бы назвать просто класс "модель", что-то такое. Если у меня есть класс, экземпляры которого есть автомобили, например, то я не буду называть класс "классом автомобилей". Будет просто "класс Автомобиль". Это как-то привычнее для русского уха – Dmitry Koroliov Dec 23 '15 at 18:50
  • @user907860 Так это же "класс Model", где "Model" - "настоящее" имя класса на языке программирования, а не "класс Модель". Я так думаю – porton Dec 23 '15 at 18:54
  • я не совсем понял предыдущий комментарий, но вообще "класс модели" подразумевает, что есть одна модель. Но т.к. вы написали, что каждый экземпляр есть модель, то логичнее уж тогда сказать "класс моделей", если "класс Модель" не ко двору. – Dmitry Koroliov Dec 23 '15 at 19:21
2

Насколько мне известно, более принято говорить "класс целых чисел" (а не "класс целого числа"), "класс строк" (а не "класс строки"), "класс баз данных" (а не "класс базы данных").
Тогда, соответственно, логично получаем "класс моделей".

Современные программисты в подобных случаях часто используют вариант с именительным падежом: "класс целое число", "класс строка", "класс база данных", ну и, соответственно, "класс модель".
(Такие выражения (всё ещё) несколько неформальны, так что они гораздо чаще произносятся, чем пишутся, и поэтому несущественно, большая буква или маленькая; я не исключаю, что имеется в виду большая, т.е. что это рассматривается как своеобразное название класса.)

Вообще да, если уж вы пишете, то лучше сразу писать "класс Model" или как он там у вас называется, но из предложенных вами вариантов, лучше, конечно, "класс моделей".
Но можно сказать "класс модели", если вы имеете в виду класс, элементом которого является данная конкретная модель (но вы, скорее всего, всё-таки имеете в виду что-то другое).

2

Отвечу как программист.

Применительно к ООП, как мне представляется, единственно верным будет класс модели.

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

Поясню на примере.

  1. Есть класс Велосипед.
  2. Еще есть класс коллекции велосипедов Велосипеды.

Чтобы адресовать первый, следует использовать фразу класс велосипеда, второй - класс велосипедов.

Еще лучше называть как оно есть:

Класс Model
Класс Bicycle

2

Заданный вопрос имеет не столько отношение к русскому языку, сколько к определению самого понятия класс. Наибольшую общность подхода даёт математика, и её приложения.

Примеры.
Класс наследует своё название по названию элементов (мн.ч.):

Класс чётных чисел, класс млекопитающих, класс капиталистов, класс представителей, ...

Класс наследует своё название по названию отношения (ед.ч.) между элементами:

Класс эквивалентности, класс подобия, класс параллельности, ...

Множество классов отношения:

Множество классов эквивалентности.

Нам нет нужды обращаться к публике за советом. Ответ вычисляется и проверяется самостоятельно, обращаясь только к логике: кто/что даёт название классу?

Обращаясь к Вашему частному примеру.

Класс как термин оказался востребованным, чтобы уйти от известного противоречия "множество множеств". Но если опустить эти частности, то можно считать класс тем же множеством.

Идём в одну сторону: в некоем множестве, например, артефактов, выделяются эквивалентные вещи. Например, книги. Понятно, что они разные, но также интуитивно понятно, что все книги эквивалентны в том, что они именно книги. Это класс книг. Теперь путь в обратную сторону: каждая книга содержит то, что делает ее именно книгой, то есть, по одному элементу можно вообразить целый класс книг.

Если Ваш термин "модель" это элемент множества, составляющего класс, или, по элементу-модели можно вообразить целый класс таких моделей, то мы говорим: это класс моделей.

Если же Вы дадите определение некоего отношения "модель" (в математике Вы свободны в этом), то можете назвать своё множество по этому отношению. Проверить правильность высказывания можно чисто логически, если сможете заключить в один класс: класс эквивалентности и класс модели.

3
  • Я - тоже математик. Но в моем примере "класс" - это программистский термин, а не синоним множеств/классов в математике. – porton Dec 24 '15 at 9:08
  • @porton , я исходил из утверждения "класс в программировании = класс вообще". Сможете ли Вы показать, что это не так?.. Есть ещё вариант, если название оставить в именительном падеже, заключив в кавычки, напр.: таверна «Три пескаря»; класс «Модель»; автомобиль «Волга». Однако, в своём примере Вы ставите название в родительном падеже, и без кавычек. И предложенный вариант с кавычками и в именительном падеже нельзя назвать общепринятым в этой предметной области. Так что мой совет это использовать логику "кто/что даёт название классу". – Avtokod Dec 25 '15 at 1:39
  • Что такое класс, объясняю на примере: класс "комплексное число" - это две переменные (реальных числа) и несколько операций: "сложение", "вычитание", "умножение", "деление". Пример очень примитивный, но дает представление о том, что такое класс – porton Dec 25 '15 at 14:30
2
  1. Если этим выражением характеризуют класс в целом, то "класс моделей" (условный класс, в который входят модели определённого вида).

  2. Если речь идёт об отдельном представителе класса, то в зависимости от формы утверждения, возможны выражения "модель класса..." . (модель, принадлежащая к далее упоминаемому классу) и "класс модели" (класс, к которому принадлежит рассматриваемая модель).

Для сравнения: 1) порода собак, 2а) собака такой-то породы, 2б) порода этой собаки такая-то.

0

В обществе есть класс, каждый представитель которого - капиталист. Как он называется? Класс капиталистов.

В школе есть класс, куда отправляют только хулиганов. Как он называется? Класс хулиганов.

В компьютерной программе есть класс, каждый экземпляр которого - модель. Как он должен называться? Ну конечно же, класс моделей.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.