Size: a a a

2021 March 30

PZ

Pavel Zhigulin in pro.cxx
char - это C++ object, но явно не объект из ООП)
источник

MK

Mikhail Kalugin in pro.cxx
Pavel Zhigulin
В С++ ничего не объект, пока ты явно не сказал, что это объект :) В целом, я уже склонен согласиться, что я был неправ. Действительно С++ очень сильно oriented в сторону ООП.
C++ Очень сильно ориентед в сторону ФП (комиттет каждый раз втаскивает новые ФП штуки), ООП просто есть, только шаблонная магия как-то развивается и стандартная библиотека.
источник

LA

Liber Azerate in pro.cxx
Ну вот, цитирую:
Объе́кт в программировании — некоторая сущность в цифровом пространстве, обладающая определённым состоянием и поведением, имеющая определённые свойства (атрибуты) и операции над ними (методы)[1]. Как правило, при рассмотрении объектов выделяется то, что объекты принадлежат одному или нескольким классам, которые определяют поведение (являются моделью) объекта. Термины «экземпляр класса» и «объект» взаимозаменяемы[2].

Кажется, char вполне себе объект по данному определению
источник

D

Danya in pro.cxx
Pavel Zhigulin
В С++ те объекты, которые из ООП - это то, что объявлено как class. Даже struct не всегда объект)
Ну class тогда тоже не всегда
источник

ПК

Побитый Кирпич... in pro.cxx
Pavel Zhigulin
Мне не нравится раздел про Error Handling. Делается большой упор на исключения и очень мало рассматриваются другие варианты :)
Потому что это стандартный способ работы с ошибками
источник

PZ

Pavel Zhigulin in pro.cxx
Liber Azerate
Ну вот, цитирую:
Объе́кт в программировании — некоторая сущность в цифровом пространстве, обладающая определённым состоянием и поведением, имеющая определённые свойства (атрибуты) и операции над ними (методы)[1]. Как правило, при рассмотрении объектов выделяется то, что объекты принадлежат одному или нескольким классам, которые определяют поведение (являются моделью) объекта. Термины «экземпляр класса» и «объект» взаимозаменяемы[2].

Кажется, char вполне себе объект по данному определению
Какие атрибуты есть у char? И какие операции над этими атрибутами определены? char - это просто данные :)
источник

ПК

Побитый Кирпич... in pro.cxx
Pavel Zhigulin
Какие атрибуты есть у char? И какие операции над этими атрибутами определены? char - это просто данные :)
аттрибут - value.
Операции - toupper, tolower
источник

LA

Liber Azerate in pro.cxx
Pavel Zhigulin
Какие атрибуты есть у char? И какие операции над этими атрибутами определены? char - это просто данные :)
У char, как и у любого фундаментального типа, есть псевдо-деструктор
источник

PZ

Pavel Zhigulin in pro.cxx
Danya
Ну class тогда тоже не всегда
Почти всегда*, потому что у class по умолчанию есть все атрибуты из-за дефолтного private :) Всё сразу инкапсулировано :) Можно наследовать :) В классах доступен полиморфизм :) Классы - это всегда абстракция.

*за исключением случаев, когда типы используются в метапрограммировании :)
источник

D

Danya in pro.cxx
Pavel Zhigulin
Почти всегда*, потому что у class по умолчанию есть все атрибуты из-за дефолтного private :) Всё сразу инкапсулировано :) Можно наследовать :) В классах доступен полиморфизм :) Классы - это всегда абстракция.

*за исключением случаев, когда типы используются в метапрограммировании :)
У структуры всё тоже самое, кроме дефолтного private
источник

LA

Liber Azerate in pro.cxx
Pavel Zhigulin
Почти всегда*, потому что у class по умолчанию есть все атрибуты из-за дефолтного private :) Всё сразу инкапсулировано :) Можно наследовать :) В классах доступен полиморфизм :) Классы - это всегда абстракция.

*за исключением случаев, когда типы используются в метапрограммировании :)
Вы считаете, что если класс ничего не инкапсулирует, его экземпляры не будут объектами? А final классов тоже уже не существует?
источник

PZ

Pavel Zhigulin in pro.cxx
Побитый Кирпич
аттрибут - value.
Операции - toupper, tolower
При таком натягивании совы на глобус, я могу практически про буквально любой язык сказать, что он ООП и в нём есть объекты :)
источник

ПК

Побитый Кирпич... in pro.cxx
Pavel Zhigulin
При таком натягивании совы на глобус, я могу практически про буквально любой язык сказать, что он ООП и в нём есть объекты :)
наличие некоторого количества объектов не делает язык ООП. Но вот в С++ практически всё есть объект
источник

PZ

Pavel Zhigulin in pro.cxx
Liber Azerate
Вы считаете, что если класс ничего не инкапсулирует, его экземпляры не будут объектами? А final классов тоже уже не существует?
Класс всегда что-то инкапсулирует :) Чисто логически у него ВСЕГДА есть private секция. Даже если он инкапсулирует пустоту :)  final запрещают быть унаследоваными, но никто не мешает самому final классу наследовать другие объекты)
источник

MK

Mikhail Kalugin in pro.cxx
Побитый Кирпич
наличие некоторого количества объектов не делает язык ООП. Но вот в С++ практически всё есть объект
И в то же время - C++ мультипарадигиа - разработчики языка так сказали.
источник

ПК

Побитый Кирпич... in pro.cxx
Mikhail Kalugin
И в то же время - C++ мультипарадигиа - разработчики языка так сказали.
Как раз из этого и следует то что он ООП, так как это надмножетсво всех парадигм
источник

MK

Mikhail Kalugin in pro.cxx
Побитый Кирпич
Как раз из этого и следует то что он ООП, так как это надмножетсво всех парадигм
ЛП тоже подмножество ООП?
источник

ПК

Побитый Кирпич... in pro.cxx
Mikhail Kalugin
ЛП тоже подмножество ООП?
ЛП?
источник

LA

Liber Azerate in pro.cxx
Pavel Zhigulin
Класс всегда что-то инкапсулирует :) Чисто логически у него ВСЕГДА есть private секция. Даже если он инкапсулирует пустоту :)  final запрещают быть унаследоваными, но никто не мешает самому final классу наследовать другие объекты)
В целом, корректное замечание. Но основное предназначение класса даже не участвовать в иерархии наследования или инкапсулировать что-то, а сохранять некие инварианты. Инкапсуляция и наследование здесь не обязательны
источник

PZ

Pavel Zhigulin in pro.cxx
Побитый Кирпич
наличие некоторого количества объектов не делает язык ООП. Но вот в С++ практически всё есть объект
Я по-прежнему утверждаю, с точки зрения ООП, единственной сущностью в С++, являющейся объектом - это всё, что объявлено как class.
источник