Top.Mail.Ru
Ответы

Вопрос по ОOП. Чем (object), (record) и (Сlass) отличаются друг от друга?

По дате
По рейтингу
Аватар пользователя
Мудрец
9лет

Это же по паскалю вопрос? если да, то:
1. record - это "группа переменных". То есть record это синтаксическая фича, позволяющая более удобно использовать переменные и не плодить кучу лишних имён. record не может содержать в себе функции (методы)
2. класс - это уже полноценная ООП сущность. Класс описывает объекты определённого типа.
3. объект - конкретный экземпляр

Ну вот для пример, рассмотрим такой реальный объект нашего мира как машина :)
Машина - это класс, который характеризует некий тип объектов и имеет свой набор характеристик и функций
Твоя или моя машина - это уже объекты. То есть конкретные экземпляры, на которых можно ездить
А документы на твою или мою машину - это record. Просто набор характеристик, существующих просто как информация, которая прилагается к чему-то (в данном случае к объекту типа "Машина")

Как-то так.

Аватар пользователя
Оракул
9лет

на примерах из жизни

https://habrahabr.ru/post/87119/
https://habrahabr.ru/post/87205/

Источник: https://123lab.ru
Аватар пользователя
Оракул
9лет

Вообще-то, это зависит от языка.

Аватар пользователя
Знаток
9лет

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

Аватар пользователя
9лет

Добавлю
object - универсальный тип данных, является базовым классом для всех остальных типов. В переменную типа object можно записать любое значение, от логического до графического.
пример для c# https://professorweb.ru/my/csharp/charp_theory/level5/5_2.php



Видео по теме