A?A?ng gA?i trong java – Encapsulation

A?A?ng gA?i trong java – Encapsulation

A?A?ng gA?i trong java lA� tA�nh a?�n gia??u thua��c tA�nh vA� ph?�??ng tha��c ca��a A�a��i t?�a�?ng, A�a�? cho bA?n ngoA�i t?�??ng tA?c va��i giA? tra�� ca��a cA?c thua��c tA�nh thA� A�a��i t?�a�?ng cung ca??p cho bA?n ngoA�i cA?c ph?�??ng tha��c t?�??ng tA?c nha?�m ma�?c A�ich cA? qua??n lA? vA� lA�m cho gia??u A�i ca??u trA?c ca��a A�a��i t?�a�?ng. NA? tha�? hia��n qua access modifiers.

access modifiers trong java A�xA?c A�a��nh pha??m vi truy ca?�p vA�o da�? lia��u ca��a cA?c tr?�a�?ng, ph?�??ng tha��c, ca??u ta�� hoa?�c class. Access modifiers cA? 4 kia�?u lA�: private, ma?�c A�a��nh, protected, public1

 

VA� da�?: ta cA? ma��t la��p Person. BA?n trong cA? cA?c thua��c tA�nh nh?� tA?n, tua��i, A�a��a cha��, sa�� A�ia��n thoa??i:

 

a�z A�A?y ta sa?? tha??y khi ta ga�?i cA?c thua��c tA�nh ca��a class Person trA?n hA�m main ta??i class DongGoi thA� cA?c thua��c tA�nh nh?� name, age, address sa?? ga�?i A�?�a�?c, cA?n thua��c tA�nh phone sa?? ba�� la��i. VA� a�Y claas Person thua��c tA�nh phone A�a�? access modifier lA� private. Ta��c lA� nA? cha�� A�?�a�?c sa�� da�?ng trong cA?ng ma��t class Person. CA?n na??u class bA?n ngoA�i sa?? khA?ng sa�� da�?ng A�?�a�?c.

T?�??ng ta�� nh?� tha??, thua��c tA�nh age cA? access modifier lA� ma?�c A�a��nh (Ma?�c A�a��nh A�?�a�?c hia�?u khi A�a?�ng sau thua��c tA�nh khA?ng cA? gA� ca??. VA� da�? int age sa?? A�?�a�?c hia�?u lA� (ma?�c A�a��nh) int age), nA? cao h??n private ma��t ba?�c vA� A�?�a�?c sa�� da�?ng a�Y bA?n trong ma��t package. Ma��t package sa?? ch?�a nhia�?u class bA?n trong vA� cA?c class nA�y sa?? A�?�a�?c sa�� da�?ng cA?c thua��c tA�nh vA� ph?�??ng tha��c cA? access modifier lA� ma?�c A�a��nh.

Cao h??n na�?a lA� protected, ta��c lA� thua��c tA�nh address a�Y vA� da�? trA?n. NA? cA? tha�? A�?�a�?c dA?ng a�Y trong cA?c class trong cA?c package khA?c nhau trong ma��t project. Ta��c lA� thua��c tA�nh vA� ph?�??ng tha��c trong class con trong ma��t package cA? tha�? sa�� da�?ng A�?�a�?c ta�� cA?c class khA?c a�Y package khA?c.

Cao nha??t lA� public nh?� thua��c tA�nh name a�Y trA?n, thA� sa?? A�?�a�?c sa�� da�?ng a�Y ma�?i n??i.

Da��a vA�o cA?c tA�nh cha??t nA�y ta sa?? cA? A�?�a�?c tA�nh bao A�A?ng trong ma��t A�a��i t?�a�?ng. Na??u trong ma��t A�a��i t?�a�?ng ta khA?ng mua��n ng?�a�?i dA?ng khA?c la??y ra tra��c tia??p cA?c thua��c tA�nh trong ma��t A�a��i t?�a�?ng mA� pha??i thA?ng qua cA?c ph?�??ng tha��c trong class ta ta??o A�a�? giao tia??p va��i cA?c thua��c tA�nh. Ta sa?? A�a�? cA?c thua��c tA�nh lA� private vA� ta??o cA?c ph?�??ng tha��c getter vA� setter A�a�? ng?�a�?i dA?ng t?�??ng tA?c va��i cA?c thua��c tA�nh. VA� da�? ta sa��a la??i class Person nh?� sau:

a�z A�A?y cA?c thua��c tA�nh nh?� name, age, address, phone ta A�A? A�a�? access modifier lA� private, cA? nghA�a lA� nA? sa?? khA?ng ga�?i A�?�a�?c trong cA?c class khA?c ngoA�i class Person. VA� cA?ch duy nha??t A�a�? ng?�a�?i dA?ng tha��c hia��n t?�??ng tA?c va��i cA?c thua��c tA�nh nA�y lA� thA?ng qua cA?c ph?�??ng tha��c get vA� set. VA� da�? hai ph?�??ng tha��c nA�y:

Ta??i A�A?y ph?�??ng tha��c getName sa?? A�?�a ra giA? tra�� ca��a thua��c tA�nh name, vA� setName sa?? truya�?n vA�o giA? tra�� cho thua��c tA�nh name. T?�??ng ta�� nh?� tha?? va��i cA?c thua��c tA�nh getAge, setAge, getAddress, setAddressa��..

Via��c lA�m nA�y A�a�? trA?nh sa�� truy ca?�p tra��c tia??p ta��i cA?c thua��c tA�nh trong ma��t class ma��t cA?ch ba��a bA?i, mA� mua��n truy ca?�p vA�o A�?�a�?c cA?c thua��c tA�nh pha??i thA?ng qua cA?c ph?�??ng tha��c giao tia??p trA?n. CA?c ph?�??ng tha��c nA�y sa?? A�?�a�?c A�a�? a�Y da??ng public va��i ma�?c A�A�ch sa?? A�?�a�?c sa�� da�?ng a�Y ma�?i n??i.

VA� da�? trA?n class DongGoi, ta??i hA�m main ta ga�?i cA?c ph?�??ng tha��c set A�a�? truya�?n vA�o giA? tra�� cho thua��c tA�nh, vA� seta�� A�a�? la??y ra cA?c thua��c tA�nh A�A?:

Ka??t qua?? A�?�a ra mA�n hA�nh lA�:

2

 

Trong cA?c hA�m setter ta cA�ng cA? tha�? A�ia�?u cha��nh giA? tra�� nha?�p vA�o cho thua��c tA�nh. VA� da�? nh?� na??u thua��c tA�nh age ng?�a�?i dA?ng nha?�p vA�o la��n h??n 100. ThA� ta sa?? gia��i ha??n a�Y ma��c cao nha??t lA� 99 tua��i. VD ta sa?? sa��a la??i a�Y ph?�??ng tha��c setAge()

purchase ceftin for sinus
Ta??i hA�m main ta??i class DongGoi ta sa?? dA?ng setAge A�a�? truya�?n vA�o sa�� tua��i lA� 1000 vA� A�?�a ra mA�n hA�nh.

Cha??y ch?�??ng trA�nh vA� xem ka??t qua??.

3

 

Nh?� va?�y khi ta nha?�p vA�o A�a�� tua��i lA� 1000 ta��c lA� trA?n 100 thA� khi A�?�a ra giA? tra�� thA� A�a�� tua��i cha�� da��ng la??i a�Y ma��c 99. CA?n na??u A�a�� tua��i nha?�p vA�o d?�a��i 100 thA� sa?? in ra giA? tra�� nh?� bA�nh th?�a�?ng. A?ia�?u nA�y sa?? giA?p ta qua??n lA? A�?�a�?c thA?ng tin nha?�p vA�o cho cA?c thua��c tA�nh, trA?nh tA�nh tra??ng truy nha?�p tra��c tia??p ba��a bA?i.

A?A?ng gA?i trong java cA�ng cA? ma��t A? nghA�a na�?a, A�A? chA�nh lA� ta pha??i A�A?ng gA?i cA?c da�? lia��u vA�o bA?n trong. Khi ng?�a�?i dA?ng hoa?�c ta sa�� da�?ng thA� sa?? cha�� ca?�n bia??t ph?�??ng tha��c nA�y nha?�n vA�o giA? tra�� gA�, vA� tra?? ra giA? tra�� gA� A�a�? sa�� da�?ng nA?, cA?n khA?ng ca?�n bia??t bA?n trong nA? cA? gA� vA� xa�� lA? tha?? nA�o A�a�? A�?�a�?c ka??t qua?? A�A?. Gia��ng nh?� ta sa�� da�?ng cA?c th?� via��n ha�� tra�? trong java.

Nh?� va?�y mA�nh A�A? gia��i thia��u va��i cA?c ba??n tA�nh cha??t A�A?ng gA?i trong java. Ma��t trong cA?c kia??n tha��c trong h?�a��ng A�a��i tr?�a�?ng java.

Na??u cA?c ba??n mua��n bia??t thA?m cA?c ka�? thua?�t la?�p trA�nh khA?c, cA?c ba??n cA? tha�? tham kha??o thA?m cA?c khA?a ha�?c ta??iA�A�A?y.

ChA?c cA?c ba??n ha�?c ta��t.

Add a Comment

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *