Енкапсулация (програмиране): Разлика между версии

Изтрито е съдържание Добавено е съдържание
м →‎Връзки: Ненужни колони: употреба на автоматично разделяне на колони редактирано с AWB
м →‎Механизъм за скриване на информацията: Грешки в статичния код: Остарели HTML-тагове редактирано с AWB
Ред 9:
 
== Механизъм за скриване на информацията ==
Енкапсулацията може да се използва за да скрива полета и методи на даден клас. Според тази дефиниция, енкапсулиране означава, че вътрешното представяне на [[Обект (програмиране)|обект]] , не може да се види извън дадения обект. Като правило, само собствените методи на даден обект могат директно да виждат или променят поле. Някои езици, като [[smalltalk]] и [[Ruby|Руби]] позволяват достъп само чрез методите на обекта, но повечето от останалите езици (например, [[C++|С++]], [[C Sharp|С#]], [[Delphi (език за програмиране)|Делфи]] или [[Java]]) предлагат на програмиста степента на контрол над това, което е скрито, обикновено чрез ключови думи, както <code>public</code> , така и <code>private</code>. трябва да се отбележи, че ISO стандарт в C++ се отнася до <code>protected</code>, <font color="#000000" face="monospace, Courier"code>private </fontcode> и <code>public</code> , като „[[модификатори за достъп]]“, и че те не се „крият информация“. Скриването на информация се осъществява чрез предоставяне на крайната версия на изходния код, който се свързва чрез header([[Заглавен файл|загла]]<nowiki/>вен файл).
 
Почти винаги има начин да се заобиколи тази защита &#x2013; обикновено чрез рефлекшън (отражение) в API ([[Ruby]], [[Java]], [[C Sharp|C#]] и т.н.), понякога чрез механизъм, като изопачаване на името (name mangling) ([[python]]), или специални запазени думи като на <code>friend</code> в C++.