В чём разница между инкапсуляцией и сокрытием ?

23 ответов

9 просмотров
Fuhrerbox 360-[Xbox 360] Автор вопроса

Я не понял просто

Fuhrerbox 360-[Xbox 360] Автор вопроса

тип я понял, что сокрытие вроде часть инкапсуляции, но что там ещё есть я не вдуплил из определения и примера

Fuhrerbox 360 [Xbox 360]
тип я понял, что сокрытие вроде часть инкапсуляции...

Инкапсуляция это например публичные свойства, ты можешь с ними работать и взаимодействовать при этом не вдаешься в подробности реализации А сокрытие это приватные данные к которым у тебя нет доступа Хотя думаю сколько разрабов столько и пониманий того как это все работает

Fuhrerbox 360-[Xbox 360] Автор вопроса
Никита
Инкапсуляция это например публичные свойства, ты м...

Ещё интересная интерпретация - инкапсуляция - невозможность сломать класс извне

Fuhrerbox 360 [Xbox 360]
тип я понял, что сокрытие вроде часть инкапсуляции...

Инкапсуляция это обеспечение безопасного изменения данных, сокрытие закрывает изменение из вне - значит часть инкапсуляции

Fuhrerbox 360 [Xbox 360]
то есть инкапсуляция это свойства ?

Нет это я тебе как пример привел, по сути везде разное, кто-то утверждает что инкапсуляция это степень доступности данных/методов из других классов, кто-то про то что инкапсуляция это внутренняя валидация данных когда тебе могут в метод отправить условно любое число а он работает с диапазоном от 0 до 100 например

Fuhrerbox 360 [Xbox 360]
аа теперь понял

Инкапсуляция это про объединение данных и логики в единое закрытое целое, целостность состояния которого реализуется за счёт сокрытия

Sleeping Nope
Инкапсуляция это про объединение данных и логики в...

Сейчас ExtreamCode тебе как за сокрытие пояснят.

Александр
Инкапсуляция это обеспечение безопасного изменения...

Сокрытие для инкапсуляции не нужно, это не объязательно

Phantom
Сокрытие для инкапсуляции не нужно, это не объязат...

я и не говорил что обязательно, просто это один из вариантов инкапсуляции

Александр
я и не говорил что обязательно, просто это один из...

А сколько вариантов есть? И почему это вариант инкапсуляции?

Phantom
А сколько вариантов есть? И почему это вариант инк...

А что это тогда если не вариант инкапсуляции? В моем понимании есть разные виды инкапсуляции. К примеру, если ты обьявлешь локальную переменную внутри метода - ты её инкапсулируешь в рамках этого метода, тут сокрытие, никто из вне не может получить эти данные. Если говорить про ООП инкапсуляцию, у неё тоже разные варианты есть, к примеру валидация данных, чтобы X не был меньше 0, то же сокрытие private - protected. Ну есть и другие варианты инкапсуляции, по типу параметров доступа для класса, модификатора sealed, ключевых слов readonly, in (при передачи параметров в метод) и других. В моем понимании инкапсулиция - механизм обеспечения безопасности данных и правильного их использования. А сами эти механизмы бывают разные

Александр
А что это тогда если не вариант инкапсуляции? В мо...

Просто механизм сокрытия и статического анализа

Phantom
Просто механизм сокрытия и статического анализа

да, а механизм сокрытия это часть инкапсуляции, потому что если ты от кого-то что-то сокрываешь = инкапсулируешь

Александр
почему, обьясни?

Потому что, просто скрывая, ты не инкапсулируешь. Получается, если рандомно натыкаю private или все сделаю private, я молодец? Заинкапсулировал все? И сокрытие не часть инкапсуляции, это отдельный инструмент

Phantom
Потому что, просто скрывая, ты не инкапсулируешь. ...

В реализации большинства языков программирования (C++, C#, Java и другие) обеспечивается механизм сокрытия, позволяющий разграничивать доступ к различным частям компонента. Однако, некоторые языки (например, Smalltalk, Python) реализуют инкапсуляцию, но не предусматривают возможности сокрытия в принципе. Википедия. P.S я не говорил что просто скрывая, ты инкапсулируешь, значит ты невнимательно читал, я наоборот, считаю сокрытие самой простой и банальной версией инкапсуляции. Естественно если у тебя все поля будет private это не решит всех проблем, но если у тебя по дефолту поля private - то да, ты молодец

Phantom
chatgpt?

https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%BA%D0%B0%D0%BF%D1%81%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)

инкапсуляция, в самом слове уже всё сказано - ин капсула, то есть "в капсуле". Другими словами, объединение в одном объекте его полей и методов, плюс сокрытие от пользователя внутренних механизмов работы объекта. Неважно, что там внутри понаписано, у тебя есть объект и API для работы с ним. Всё. Это и есть инкапсуляция.

Похожие вопросы

Обсуждают сегодня

Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
А сколько часов мак держит зарядку в рабочем режиме? Например мой Redmi Mac (просто наклейка от айфона осталась, налепил) по началу держал часов 5 с парой открытых штормов и ...
Ross
8
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
Ребят, а вот такой вопрос: если я владелец бота анонимного чата, в котором, например, имеются подписки, используя какую-нибудь ЮКассу (или тому подобное, в общем с налогами, в...
Eugene Неелов
8
а давно такие жирные буквы в админке?
Миша
4
Гнева и тупости пост. Как блять можно работать с маркетологами? Их в детстве всех родители случайно цепляли об дверные откосы? Поступила таска, на сайте "лишний счетчик Google...
Igor
4
а у тг (бот) апи вообще есть статусная страница, кстати?
e\\/gen
5
Вообще сейчас эти все провайдеры облаков оборзели. Если тебе нужно 4 ядра и 4 гб., хер где такую конфигурацию найдешь. Суют тебе сразу либо 8гб. либоа сразу 16 гб., они мне на...
Igor
4
Всем привет. А никто не в курсе у бота может быть заблокированна возможность принимать звезды? На одном боте вызываю sendInvoice с нужными параметрами все ок, на втором дела...
John Doe
2
Карта сайта