
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 và ừ ế ừ ườ ữ ệ
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ế ả ươ ứ
Là 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 ộ ế ẩ ồ ạ ấ ả ớ ượ ử ụ ạ
và 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()
// …
}
}