încapsulare
primul pilon al programării orientate pe obiecte estecapsulare . Ideea din spatele încapsulării este aceeadoriți să păstrați fiecare tip sau clasă discret și autonom. Acest lucruvă permite să modificați implementarea unei clase fărăAfectarea oricărei alte clase.
o clasă care oferă o metodă pe care alte clase o pot folosi se numeșteserver
. Se numește o clasă care utilizează această metodăa client
. Scopul încapsulării este că tupoate schimba detaliile modului în care un server își desfășoară activitatea fără a rupe nimic în implementarea clientului.
acest lucru este realizat prin trasarea unei linii luminoase și strălucitoare întrepublic interface
a unei clase și private implementation
. Interfața publică este un contract emis de clasa ta care spune, promit să pot face această muncă. Mai exact, veți vedea că un publicinterface spune apel această metodă, cu acești parametri, andI ‘ ll face acest lucru și să se întoarcă această valoare. Un clientse poate baza pe o interfață publică să nu se schimbe. În cazul în care interfața publicăse schimbă, atunci clientul trebuie recompilat și poateproiectat.
implementarea privată, pe de altă parte, este privată pentru server. Proiectantul clasei de servere este liber să se schimbecum face munca promisă în publicinterfață, atâta timp cât continuă să îndeplinească termenii eicontract simplu: trebuie să ia parametrii dați, să facă lucrarea promisă și să returneze valoarea promisă.
de exemplu, este posibil să aveți o metodă publică care promite după cum urmează:Dă-mi o sumă de dolari și un număr de ani, șivoi returna valoarea actuală netă. Cum calculațiaceastă sumă este afacerea dvs.; dacă un client furnizează o sumă de dolarși un număr de ani, trebuie să returnați valoarea actuală netă. Youmight pune în aplicare că inițial prin păstrarea unui tabel de valori. Youmight schimba că, la un moment ulterior pentru a calcula valoarea folosind theapropriate algebra. Aceasta este afacerea dvs. și nu afecteazăclient. Atâta timp cât nu schimbați interfața publică (de ex., atâta timp cât nu modificați numărul sau tipul de parametri așteptați sau modificați tipul valorii de întoarcere), clienții dvs. nu se vor rupe în timp ce schimbați implementarea.