Kedu ihe bụ abstraction na encapsulation?
La nkpirisi na encapsulation Ha bụ echiche abụọ dị mkpa na mmemme ihe dabere (POO). Ha abụọ na-eje ozi iji hazie na hazie koodu anyị yana zere njehie ma ọ bụ esemokwu enwere ike.
Mkpuchi
La nkpirisi bụ usoro nke ịchọpụta njirimara dị mkpa nke ihe ma hapụ atụmatụ ndị na-adịghị mkpa. Na mmemme OOP, abstraction na-enye anyị ohere ịmepụta otu klas na-enweghị nchegbu maka nkọwa nke ime nke mmejuputa ya.
Dịka ọmụmaatụ, ọ bụrụ na anyị na-emepụta egwuregwu ịgba ọsọ, anyị nwere ike ịmepụta klas "ụgbọ ala" nwere ihe ndị dị ka "Ọsọ" ma ọ bụ "Acceleration", mana anyị achọghị ịma ka engine si arụ ọrụ ma ọ bụ otu esi ebufe ike na wiil .
Ihe nlele:
Ka anyị lee ihe atụ koodu nke na-egosi abstraction:
ụgbọ ala klas { int CurrentSpeed onwe; osooso int nkeonwe; Ụgbọ ala ọha () { currentSpeed = 0; osooso = 0; } ọha na-adịghị eme ngwa ngwa(int increment) {acceleration += increment; } ọha void decelerate(int decrement) {acceleration -= decrement; } // Njirimara na ụzọ ndị ọzọ... }
N'ihe atụ a, anyị na-eke klas "ụgbọ ala" nke nwere ihe abụọ (ọsọ na ngwa ngwa ugbu a) na ụzọ abụọ (ngwa ngwa na breeki). Otú ọ dị, anyị na-adịghị mkpa ịmata esịtidem nkọwa nke otú ụgbọ ala na-aga, na anyị nwere ike na-arụ ọrụ na ya dị ka a ga-asị na ọ bụ ihe nkịtị.
Encapsulation
La encapsulation, n'aka nke ọzọ, bụ usoro nke izobe ma ọ bụ ichebe nkọwa nke ime nke klas na naanị ikwe ka ịnweta site na ihu ọha. Emere nke a iji zere esemokwu ma ọ bụ njehie nwere ike.
Dịka ọmụmaatụ, ọ bụrụ na anyị nwere klaasị "Onye" nwere akụrụngwa dịka "Age" ma ọ bụ "Aha", anyị chọrọ ịhụ na enweghị ike ịmegharị ha n'amaghị ama site na mpụga klas ahụ. Iji mee nke a, anyị nwere ike ịtọ ihe ndị a dị ka nke nzuzo wee mepụta ụzọ ọha iji nweta ha, dị ka "getAge()" ma ọ bụ "setName()".
Ihe nlele:
Ka anyị leba anya n'ihe atụ koodu nke na-egosi nchikota:
onye klas { onwe int afọ; Aha eriri nkeonwe; Onye ọha (int e, String n) {afọ = e; aha = n; } ọha int getAge () {laghachi afọ; } ọha eriri getName () {laghachi aha; } ọha efu setAha (string n) { aha = n; } // Njirimara na ụzọ ndị ọzọ... }
N'ihe atụ a, anyị na-eke klaasị "Onye" nwere njirimara abụọ (afọ na aha) yana ọtụtụ ụzọ iji nweta ha (getAge, GetName na setName). Mana akụrụngwa ndị a na-enweta naanị site na klaasị, na-echebe ha pụọ na njehie ma ọ bụ esemokwu enwere ike.
Mmechi
Na nkenke, na nkpirisi na encapsulation bụ isi echiche abụọ dị na mmemme gbadoro ụkwụ na ihe. Abstraction na-enye anyị ohere ịrụ ọrụ na ụlọ ọrụ nkịtị na-enweghị nchegbu banyere nkọwa nke ime nke mmejuputa ha, ebe encapsulation na-enye anyị ohere ichebe nkọwa nke ime nke otu klas ma na-enye ohere ịnweta site na interface ọha.
Ọ dị mkpa ịghọta echiche ndị a iji chepụta na ịzụlite mmemme gbadoro ụkwụ na ihe dị irè na ahaziri nke ọma.
Ntughari
- Okwu mmalite nke echiche mmemme gbadoro ụkwụ na ihe - GeeksforGeeks
- Abstraction (sayensị kọmputa) - Wikipedia
- Encapsulation (mmemme) - Wikipedia
Abụ m Sebastián Vidal, onye injinia kọmpụta nwere mmasị na teknụzụ na DIY. Ọzọkwa, abụ m onye okike tecnobits.com, ebe m na-ekerịta nkuzi iji mee ka nkà na ụzụ nwetakwuo ohere na nghọta maka onye ọ bụla.