Теперь я знаю, что есть море статей и вопросов, связанных с этим, и, пройдя большую часть этого, мне нужно знать, насколько я понимаю.Является ли мое понимание абстракции, инкапсуляции и их отношений правильными?
Абстракция: Способ решения сложностей. В основном мы определяем минимальные требования, а не несущественные детали. Упрощение.
Инкапсуляция: Процесс упаковки вещей в один черный ящик. Черный ящик предлагает разные услуги, но все привязано к одному блоку.
Отношения: Абстракция дает нам четкое различие между интерфейсом (основными) и реализацией (неэлементами). Теперь, когда эти идеи внедряются, неотъемлемая часть находится внутри черного ящика, в то время как интерфейс предоставляет нам услуги. Другими словами, реализация абстрактных понятий - это инкапсуляция.
В терминах программирования: Интерфейсы и абстрактные классы используются для определения абстрактных концепций. Конкретным классом, который расширяет или реализует их, является наш черный ящик (инкапсуляция). Аксессоры, мутаторы и модификаторы используются для улучшения черного ящика. Итак, в основном, насколько хороша наша инкапсуляция, зависит от того, насколько хороша наша абстракция.