Professional Documents
Culture Documents
0
!
0
8
0
9
1
0
1
1
1
2
1
3
1
4
1
5
1
1
!
1
8
1
== >hai b(o tn class
class #3Class {
== +?i d,n' bn tron' class
== C(c th,?c t7nh c@a class
pri$ate $pri;
p,blic $p,b;
protected $pro;
== 4<# c@a class
1,nction 22constr,ct() {
== 4<# constr,ct
$this0pri = -Ai&n pri$ate-;
$this0p,b = -Ai&n p,blic-;
$this0pro = -Ai&n protected-;
}
1,nction B,at() {
== 4<# B,:t tr)
echo C$priD C / $this0pri;
echo C$p,bD C / $this0p,b;
echo C$proD C / $this0pro;
}
9
2
0
2
1
2
2
2
3
2
4
2
5
2
2
!
2
8
2
9
3
0
3
1
3
2
3
3
3
4
}
== >&t thEc #?t Fhai b(o h<#
eiMn othi>
eiMn othi> 'fng F ?9 chm i tng hi#n t7i2 c$A>> 9) ,7n Ang iMt c"'<+ di#c 'fng othi> F gi2
h"Sc c ) ghi gi? trG )" ,iMn th6:c ph79 i ch6ng cKA c$A>> $) ,Ot ,6:c+ dc 'V:
0
class G {
1
0
2
0
3
0
4
0
5
0
0
!
0
8
0
9
1
0
1
1
1
2
1
3
1
4
1
5
1
1
!
pri$ate $bienH;
1,nction ha#G() {
echo -4<# ha#G() c@a class G 9IJc '5i-;
}
1,nction ha#A() {
== ha#A() #,Kn '5i h<# ha#G c@a class
$this 0 ha#G();
== ha#A() #,Kn 9Lt 'i( tr) cho bi&n $bienH
$this 0 bienH = -4ello-;
}
}
== 4&t class G
1,nction ha#G() {
echo -4<# ha#G() bn n'o<i class-;
}
RM6 ,7n c l gi hA9pqr 9) 0h1ng 'fng othi> st hA9pqr+ Ch PHP >U gi hA9pqr ,&n ng")i c$A>>2
ch[ 0h1ng gi hA9pqr tr"ng c$A>>+ H"Sc PHP >U ,?" $ui+
Li i ,iMn2 nM6 ,7n c l g?n ,Wng $#nh o,i<n1 v PH<$$"Qw Ch ,iMn cVc ,: o,i<n1 >U c t7" ,&n
tr"ng hA9eqr2 ) $6 gi? trG $) PH<$$"Q ch[ 0h1ng $6 )" ,iMn o,i<n1 % 'bng 2+ RXi ch6ng2 tA ph4i
'fng Pothi> stQ F gi h)9 h"Sc nhNng ,iMn th6:c 5 c$A>>+
L u
Xin nh k l khi thao tc v i bi n: $this -> tenbien. Khng ph i l $this -> $tenbien.
Phn bi t private, public, protected khi l p trnh h ng i t ng v i PHP
LiF9 ch6ng '6. nh3t cKA 3 t^ 0hXA n). 56 $) t^ 0hXA chm tJ9 8c cKA ,iMn+ HA. c"n gi $) ngN
c4nh2 ph79 i 9) ,iMn n). cX thF c tr6. cp t^+
kh?c nhA6:
PriAt<: khOt 0h< nh3t2 chm tr"ng c$A>> 0hAi ,?" ,iMn n). 9i cX T6.5n >@ 'Vng+
P6,$ic: aX thF tr6. cp t^ 9i n*i th1ng T6A c-6 $#nh $obj -> tn_bi n;
Pr"t<ct<': xt 0hOt 0h< h*n PriAt< 9:t ch!t2 % ng")i c$A>> 0h1ng thF tr6. cp c ,iMn n).+
C6. nhi&n c$A>> c"n th cX thF+
dc 'V 9inh hA:
1
2
3
4
5
!
8
9
== MN dOn' l"i class P code trn
$class = new #3Class();
echo $class0p,b; == Ai&n p,blic
echo $class0pri; == QRi 1atal
echo $class0pro; == QRi 1atal
$class 0 B,at(); == Ai&n p,blicS Ai&n pri$ateS Ai&n protected
Rh D nXi % tr&n2 ,iMn priAt< ) pr"t<ct<' chm 'fng c ,&n tr"ng c$A>>+ LX $) $l '" h)9 xuat() cX
thF 'fng c 2 ,iMn n). F I63t rA 0Mt T64+
d) 0h1ng chm ?p 'Vng i ,iMn2 3 t^ 0hXA n). cbn c ?p 'Vng ch" h)9 i l nghHA t*ng t8+ kh?c
i ,iMn 9:t tc2 $) 0hi 0h1ng F t^ 0hXA n). )" th 9Sc Gnh h)9 >U $) p6,$ic+ C[c cX thF gi h)9 t^
,&n ng")i c$A>>+
Class k th a
a?ch 0M th^A 0h? ging ayy+ Rh gii thi#6 % tr&n2 c$A>> c"n 0M th^A c$A>> chA >U th^A h%ng t3t c4
c?c th6:c tcnh2 h)9 cKA c$A>> chA+ ah!ng tA cfng I<9 $7i >* ] 9:t c$A>>+
Cr"ng php2 'fng t^ 0hXA P<It<n'>Q 0hi 0hAi ,?" c$A>> F ,iF6 thG $) c$A>> n). Ang >@ 'Vng $7i 9:t
c$A>> 0h?c $)9 chA cKA nX+
1
2
3
class #3+ewClass eBtends #3Class {
== code
}
Rh "7n c"'< tr&n $) 9.R<ia$A>> 0M th^A 9.a$A>>+
Cr"ng c$A>> c"n cX thF gi $7i c?c h)9 0h1ng ph4i $) priAt< cKA c$A>> chA nh $) 9:t h)9 cKA chcnh
nX+ q9.a$A>> $) c$A>> % J6 ,)ir
1
2
3
class #3+ewClass eBtends #3Class {
1,nction B,atT() {
4
5
!
8
echo -4<# 9IJc '5i tU class con-;
$this0B,at();
}
}
d. c$A>> c"n n). >U cX nhNng Sc tcnh T6An trngz
a$A>> c"n cX thF tr8c tiMp tr6. cp ,iMn ) gi h)9 cKA c$A>> chA c 0hAi ,?" i t^ 0hXA Pp6,$icQ
h"Sc Ppr"t<ct<'Q+
d5 $6 trN2 c$A>> c"n $) 9:t c$A>> $n h*n c$A>> chA+ d) ch[A $61n c4 c$A>> chA qI<9 hnh tr&nr+
Vi t hm ln hm c c a class cha
khi iMt c"'< ch" c$A>> c"n2 nM6 ,7n c49 th3. 9:t h)9 cKA c$A>> chA 0h1ng phf hp2 ) ,7n 96n
iMt $7i h)9 n).2 iMt { $&n h)9 cZ cKA c$A>> chA+
Vi c vi t hm ny cn g i l override
di#c iMt { r3t *n gi4n2 tA chm cJn 0hAi ,?" 9:t h)9 i t&n . chAng t&n h)9 cKA c$A>> chA2 PHP >U
t8 hiF6 ,7n Ang 96n $)9 g+ dc 'V 5 iMt { h)9:
0
1
0
2
0
3
0
4
0
5
0
0
!
0
8
0
9
class CoAan {
1,nction print() {
echo -4<# print() c@a class CoAan-;
}
}
class >eTh,a eBtends CoAan {
1,nction print() {
echo -4<# print() c@a class >eTh,a-;
}
}
$objH = new CoAan();
$objT = new >eTh,a();
1
0
1
1
1
2
1
3
1
4
1
5
1
1
!
$objH 0 print(); == V,:tD 4<# print() c@a class CoAan
$objT 0 print(); == V,:tD 4<# print() c@a class >eTh,a
G i l i hm b vi t
| tr&n tA ^A t9 hiF6 5 iMt { hA. "<rri'< h)9 cKA c$A>> chA tr"ng PHP+ d. tr/ng hp h)9 D
,G ghi { 93t r]i th tA >U 0h1ng gi c nNA+ L)9 >A" F gi $7i h)9 cKA c$A>> chA -.z PHP gi4i
T6.Mt 3n 5 n). ,Wng t^ 0hXA parent::+
0
1
0
2
0
3
0
4
0
5
0
0
!
0
8
class G {
1,nction print() {
echo -G-;
}
}
==Class A F& thUa class G
class A eBtends G {
1,nction print() {
parentDDprint(); == '5i h<# print() c@a class G
echo -A-;
}
}
0
9
1
0
1
1
1
2
1
3
1
4
1
5
1
1
!
1
8
1
9
$obj = new G();
$obj 0 print(); == >&t W,8D G
$obj = new A();
$obj 0 print(); == >&t W,8D GA
Ngu n bi vi t: http://minhnhut.info/lap-trinh-huong-doi-tuong-voi-php/#ixzz2y1Mcurrq