Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Chương 03 LỚP – KIỂU DỮ LIỆU TRỪU TƯỢNG CLASS – ABSTRACT DATA TYPE ppt
Nội dung xem thử
Mô tả chi tiết
Slide 1/81
Ch ng 03 ươ
L P – KI U D LI U TR U T NG Ớ Ể Ữ Ệ Ừ ƯỢ
CLASS – ABSTRACT DATA TYPE
Slide 2/81
Ôn t pậ
• ADT : Khaí quát hóa m t t p đ i t ng thành m t ki u d li u. ộ ậ ố ượ ộ ể ữ ệ
• ADT có th là m t c u trúc ho c m t class. ể ộ ấ ặ ộ
• Object = các thu c tính mô t (thành ph n d li u)+ các hành vi ộ ả ầ ữ ệ
(thành ph n hàm) ầ
• class: ADT cho m t t p các đ i t ng t ng t nhau (cùng data, ộ ậ ố ượ ươ ự
cùng functions).
• Instance: M t mô t c a đ i t ng trong b nh c a ch ng trình. ộ ả ủ ố ượ ộ ớ ủ ươ
• Ba khái ni m c b n trong OOP: Đóng gói, Th a k , đa hình. ệ ơ ả ừ ế
• Đóng gói (encapsulation) : Gói d li u + hành vi (code), bên ngoài ữ ệ
ch có th truy c p m t s thu c tính ho c hành vi c a đ i t ng ỉ ể ậ ộ ố ộ ặ ủ ố ượ
c a m t l p thông qua các công c giao ti p. ủ ộ ớ ụ ế
• Th a k : M t l p có th th a h ng d li u và hành vi c a l p ừ ế ộ ớ ể ừ ưở ữ ệ ủ ớ
cha. M t ngôn ng OOP có th h tr đ n th a k ho c đa th a ộ ữ ể ỗ ợ ơ ừ ế ặ ừ
k . ế
• Đa hình: Kh năng cho phép vi t l i code c a m t hành vi đ c ả ế ạ ủ ộ ượ
th a k đ t o ra nh ng khác bi t trong ng x gi a l p cha và l p ừ ế ể ạ ữ ệ ứ ử ữ ớ ớ
con cho cùng m t hành vi. ộ
• G i thông đi p là yêu c u m t đ i t ng th c thi m t hành vi mà ử ệ ầ ộ ố ượ ự ộ
đ i t ng này có. ố ượ
Slide 3/81
M c tiêu ụ
• N m v ng c u trúc c a m t l p. ắ ữ ấ ủ ộ ớ
• N m v ng các ch th truy c p. ắ ữ ỉ ị ậ
• Gi i thích đ c constructor và destructor. ả ượ
• Gi i thích đ c khái ni m đ i t ng hi n ả ượ ệ ố ượ ệ
hành.
• Truy c p thành ph n th a k t l p cha. ậ ầ ừ ế ừ ớ
• Hi n th c đ c l p b ng Java. ệ ự ượ ớ ằ
Slide 4/81
N i dung ộ
3.1- C u trúc 1 l p và access modifiers ấ ớ
3.2- S d ng m t l p ử ụ ộ ớ
3.3- Ch th this ỉ ị
3.4- Overloading m t hành vi ộ
3.5- Hành vi kh i t o (constructor) ở ạ
3.6- Ch th super ỉ ị
3.7- Hành vi h y (destructor) ủ
3.8- Thành ph n static ầ
3.9- Ch th final ỉ ị
3.10- Ph ng pháp gi i bài toán v i Java ươ ả ớ
3.11- Ch y ch ng trình có tham s v i JCreator ạ ươ ố ớ
3.12- M t s l p c b n c a Java ộ ố ớ ơ ả ủ
Slide 5/81
3.1- C u trúc 1 l p và access modifiers ấ ớ
• L p: Hi n th c chung cho m t t p các đ i t ng có ớ ệ ự ộ ậ ố ượ
cùng đ c đi m và hành vi. ặ ể
• M t l p có th là l p con c a m t l p đã có. ộ ớ ể ớ ủ ộ ớ
• Hi n th c l p: ệ ự ớ
– Khai báo m c cho phép s d ng. ứ ử ụ
– Khai báo l p cha ớ
– Khai báo các thành ph n thu c tính. ầ ộ
– Hi n th c code các hành vi. ệ ự
• L p và m i thành ph n c n ph i ch đ nh m c đ cho ớ ỗ ầ ầ ả ỉ ị ứ ộ
phép truy c p (tính b o m t) ậ ả ậ access modifier
• M i ngôn ng OOP quy đ nh cú pháp riêng cho vi c ỗ ữ ị ệ
hi n th c l p. ệ ự ớ
Slide 6/81
C u trúc m t l p ấ ộ ớ
Field_1
Field_2
.......
Method_1()
Method_2()
..........
class B Các gi i h n truy c p ớ ạ ậ
1. Cho phép truy c p t do ( ậ ự public)
2. Ch cho phép trong cùng m t gói ỉ ộ
truy c pậ
3. Không cho bên ngoài truy c p ậ
(private).
4. Ch cho l p con truy c p ỉ ớ ậ
(protected).
5. Không cho phép l p con hi u ớ ệ
ch nh ( ỉ final).
Access Modifiers
class A
là con
Slide 7/81
Cú pháp khai báo class trong Java
[Modifier] class CLASSNAME
extends FATHERCLASSNAME
{
[Modifier] DataType1 Property1 [=Value];
[Modifier] DataType2 Property2 [=Value];
[Modifier] DataType MethodName( DataType Arg,…)
{ <code>
}
}
Không có modifier : M c đ nh là friendly, cho phép các đ i t ng ặ ị ố ượ
thu c các class cùng package ( cùng th m c)truy c p ộ ư ụ ậ
Slide 8/81
Đ c tính truy xu t ặ ấ
Modifier private friendly protected public
Cùng class YES YES YES YES
Cùng gói, khác
class
NO YES YES YES
l p con trong ớ
cùng gói v i ớ
l p cha ớ
NO YES YES YES
Khác gói, khác
l pớ
NO NO NO YES
L p con khác ớ
gói v i l p cha ớ ớ
NO NO YES YES