L P TRÌNH JAVA C B N Ơ
L P TRÌNH JAVA C B N Ơ
Lê Tân
B môn: L p trình máy tính
Ch ng 8ươ
TH A K , ĐA HÌNH
VÀ PH M VI
2/30
N i dung ch ng 8 ươ
Th a k ế
Bi n this và quá t i ph ng th cế ươ
Tính đa hình
L p Object
Cú pháp l p g c
Ph m vi truy c p
Th c hi n m t l p g c
Ph ng th c t o sao chépươ
3/30
8.1
8.1 Th a k ế
Phát tri n nh ng l p m i t các l p đã t n t i.
L p con có th th a k t t c nh ng vùng d li u và ế
ph ng th c c a l p cha.ươ
Dùng t khóa extends đ ch l p con.
Ví d : l p C2 (l p các hình vuông) đ c phát tri n t ượ
l p C1 (l p các hình ch nh t)
class C2 extends C1{
Khai báo d li u và ph ng th c c a C2 ươ
}
C2 đ c g i là l p con (subclass, extended class, ượ
derived class)
C1 đ c g i là l p cha (superclass, parent class, base ượ
class)
4/30
8.1
8.1 Th a k ế
Subclass th a k t superclass các tr ng d li u ế ườ
ph ng th c có th truy c p đ cươ ượ
Có th thêm vào các tr ng d li u và ph ng th c ườ ươ
m i.
Th c t , subclass th ng đ c m r ng đ ch a nhi u ế ườ ượ
thông tin chi ti t và nhi u ch c năng h nế ơ
Ví d l p Cylinder th a k t l p Circle: ế
5/30
8.2
8.2 Bi n this và quá t i ph ng th cế ươ
m t bi n n t n t i trong t t c các l p, đ c s d ng trong khi ch y ế ượ
tham kh o đ n b n thân l p ch a nó. ế
Ví d :
<ti n t > class A {
<ti n t > int <field_1>;
<ti n t > String <field_2>;
// Contructor c a l p A
public A(int par_1, String par_2){
this.field_1 = par_1;
this.field_2 = par_2;
}
<ti n t > <ki u tr v > <method_1>(){
// …
}
<ti n t > <ki u tr v > <method_2>(){
this.method_1()
// …
}
}