Enkapsulimi (Programimi i orientuar ne objekte)

Në gjuhët programuese, enkapsulimi përdoret për t'iu referuar dy nocioneve të lidhura mes veti por te cilat dallojne nga njera tjera, dhe ndonjëherë kombinimit të tyreMichael Lee Scott, Programming language pragmatics, Edition	2, Morgan Kaufmann, 2006, ISBN 0-12-633951-1, p. 481:  "Encapsulation mechanisms enable the programmer to group data and the subroutines that operate on them together in one place, and to hide irrelevant details from the users of an abstraction."Nell B. Dale, Chip Weems, Programming and problem solving with Java, Edition 2, Jones & Bartlett Publishers, 2007, ISBN 0-7637-3402-0, p. 396:
 Një mekanizëm i gjuhës i cili kufizon qasjen në disa komponente të objekteve.John C. Mitchell, Concepts in programming languages, Cambridge University Press, 2003, ISBN 0-521-78098-5, p.522 p. 266
 Nje konstrukt i gjuhës që mundëson mbledhjen e të dhenave dhe metodave që veprojnë mbi ato të dhëna.Wm. Paul Rogers, Encapsulation is not information hiding , JavaWorld.com, 05/18/01Thomas M. Connolly, Carolyn E. Begg, Database systems: a practical approach to design, implementation, and management, Edition 4, Pearson Education, 2005, ISBN 0-321-21025-5, Chapter 25, "Introduction to Object DMBS", section "Object-oriented concepts", p. 814

Definicioni i dytë është motivuar nga fakti se në shumë gjuhë te orientuara në objekte fshehja e komponentëve nuk është automatike, kështu që fshehja e informatave është e definuar si nocion i ndarë nga ata të cilët e preferojnë definicionin e dytë.

Si mekanizëm për fshehjen e informatës

Nën këtë definicion, enkapsulim do të thotë që struktura e brendshme e objektit është e fshehur prej jasht definicionit te objektit. Vetëm metodat e objekteve munden direkt të shohin ose të manipulojnë në ato fusha. Disa gjuhë si Smalltalk dhe Ruby lejojnë hyrjen vetëm nëpërmjet metodave të objektit, por shumica (si C++, C#, ose Java) i ofrojnë programerit një shkalle të kontrollit në lidhje se çfarë do të fshehet, zakonisht përmes shprehjeve sikur public ose private.

Më poshtë është një shembull në C# që tregon si të krijohet qasje në fushat e të dhënave të cilat mund të jenë të kufizuara përmes përdorimit të fjalës kyçe privatee:
class Program {
	public class Llogari {
		private decimal bilanciLlogarise = 500.00m;

		public decimal ShikoBilancin() {
			return bilanciLlogarise;
		}
	}

	static void Main() {
		Llogari llogaria = new Llogari();
		decimal bilanci = llogaria.ShikoBilancin();

		/* Nga metoda Main mund të shohim bilancin e llogarisë
		* përmes metodës publike "ShikoBilancin" në klasën "Llogari",
		* por nuk mund ta ndryshojmë vlerën e "bilanciLlogarise" */
	}
}

Definicioni i përgjithshëm

Në përgjithësi, enkapsulimi është një nga katër shtyllat e programimit të orientuar në objekte. Enkapsulimi kupton bashkimin e të dhënave me metoda të cilat veprojnë mbi to. Enkapsulimi përdoret për të fshehur strukturën e të dhënave brenda klasës, duke parandaluar palët e pa autorizuara të kenë qasje direkte në to.

 Referime 

Kategoria:Programim kompjuterik