Запитання з тегом «encapsulation»

В ООП механізм обмеження доступу до деяких компонентів об'єкта або принцип проектування, що заохочує від'єднання від деталей реалізації.


12
Чому "приватні" методи Python насправді не є приватними?
Python дає нам можливість створювати «приватні» методи і змінні в класі, випереджаючи подвійні підкреслення до імені, наприклад: __myPrivateMethod(). Як тоді можна пояснити це >>> class MyClass: ... def myPublicMethod(self): ... print 'public method' ... def __myPrivateMethod(self): ... print 'this is private!!' ... >>> obj = MyClass() >>> obj.myPublicMethod() public method …

30
Коли слід використовувати "friend" в C ++?
Я читав відповіді на C ++ і мені було цікаво friendдекларацію. Я особисто ніколи його не використовував, проте мені цікаво вивчити мову. Який хороший приклад використання friend? Читання питань FAQ трохи довше мені подобається ідея << >>перевантаження оператора та додавання їх як друга цих класів. Однак я не впевнений, як …
354 c++  oop  encapsulation  friend 


4
Розуміння різниці між __getattr__ та __getattribute__
Я намагаюся зрозуміти різницю між __getattr__і __getattribute__, тим НЕ менш, я впевнений , не в цьому. Відповідь на питання переповнення стека Різниця між __getattr__VS__getattribute__ каже: __getattribute__викликається перед тим, як переглянути фактичні атрибути на об’єкті, і тому може бути складним для правильної реалізації. Ви можете виявитись нескінченними рекурсіями дуже легко. Я …

22
Абстракція VS Інформація, що приховує інкапсуляцію VS
Чи можете ви сказати, яка різниця між абстракцією та інформацією, що ховається в розробці програмного забезпечення? Я збентежений. Абстракція приховує реалізацію деталей, а інформація, що приховує реферати цілі деталі чогось. Оновлення: я знайшов хорошу відповідь на ці три концепції. Дивіться окрему відповідь нижче для кількох цитат, взятих звідти .

9
Чи варто повернути колекцію чи потік?
Припустимо, у мене є метод, який повертає перегляд лише для читання у список учасників: class Team { private List < Player > players = new ArrayList < > (); // ... public List < Player > getPlayers() { return Collections.unmodifiableList(players); } } Далі припустімо, що все, що клієнт робить, це …

9
Java: видимість підпаку?
У моєму проекті є два пакети: odp.projі odp.proj.test. Є певні методи, за якими я хочу бути видимими лише для класів у цих двох пакетах. Як я можу це зробити? EDIT: Якщо в Java немає поняття про підпакет, чи існує спосіб цього? У мене є певні методи, які я хочу бути …

21
Потрібна ін'єкція залежності залежно від інкапсуляції?
Якщо я правильно розумію, типовим механізмом введення залежностей є введення або через конструктор класу, або через публічну властивість (член) класу. Це виявляє залежність, яка вводиться, і порушує принцип ООП інкапсуляції. Чи правильно я виявляю цей компроміс? Як ви вирішуєте це питання? Будь ласка, дивіться також мою відповідь на моє власне …

7
Використання схеми стратегії та команди команд
Обидві структури дизайну інкапсулюють алгоритм та відокремлюють деталі реалізації від своїх класів викликів. Єдина відмінність, яку я можу помітити, полягає в тому, що шаблон стратегії приймає параметри для виконання, в той час як шаблон команди - ні. Мені здається, що шаблон команди вимагає, щоб вся інформація для виконання була доступною …

25
Хороший спосіб інкапсулювати Integer.parseInt ()
У мене є проект, в якому ми часто використовуємо Integer.parseInt()для перетворення рядка в int. Коли щось піде не так (наприклад, Stringце не число, а буква a, або що завгодно), цей метод видасть виняток. Однак, якщо мені доводиться обробляти винятки у своєму коді скрізь, це починає виглядати дуже негарно дуже швидко. …

16
Різниця між інкапсуляцією та абстракцією
Сьогодні у мене було інтерв’ю. У мене було запитання від ООП про різницю між інкапсуляцією та абстракцією ? Я відповів їй наскільки мені відомо, що інкапсуляція полягає в основному для зв’язування членів даних та функцій членів в єдиний блок, який називається Class . Тоді як абстракція в основному полягає в …

13
Чим відрізняються абстракція та інкапсуляція?
Я готуюсь до співбесіди і вирішив розглянути свої концепції ООП. Доступні сотні статей, але, схоже, кожна з них описує їх по-різному. Хтось каже Абстракція - це "процес ідентифікації загальних зразків, що мають систематичні варіації; абстракція представляє загальний зразок і забезпечує засіб для уточнення, який варіант використовувати" (Річард Габріель). і досягається …

2
Які відмінності між приватним ключовим словом та приватними полями в TypeScript?
У TypeScript 3.8+, які відмінності використовують privateключове слово для позначення члена приватного: class PrivateKeywordClass { private value = 1; } І використовуючи #приватні поля, запропоновані для JavaScript : class PrivateFieldClass { #value = 1; } Чи варто віддати перевагу одному над іншим?
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.