THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 139

Ch

ng 15: L p trình h

ng đ i

ươ

ướ

ố t ng

ượ

Tr v

ở ề M c l c

ụ ụ cu n sách

15.1 Các ngôn ng và phong cách l p trình

Có nhi u ngôn ng l p trình khác nhau, và không kém m y v s l

ng là các phong cách l p trình (còn

ữ ậ

ấ ề ố ượ

g i là m u hình). Nh ng ch

ng trình mà ta đã vi t đ n gi đ u thu c phong cách

ươ

ế ế

ờ ề

th t c

ủ ụ , b i chú ý

đ

c d n vào vi c quy đ nh các th t c tính toán.

ượ ồ

ủ ụ

Đa s các ch

ng trình Java đ u

ươ

h

ng đ i t

ng

ướ

ố ượ , có nghĩa là t p trung v nh ng đ i t ng và t ng

ố ượ

ươ

tác gi a chúng. Sau đây là m t s đ c tính c a l p trình h

ng đ i t

ng:

ộ ố ặ

ủ ậ

ướ

ố ượ

Đ i t

ng th

ng bi u di n cho nh ng th c th ngoài đ i. Trong ch

ng tr

c, vi c t o nên

ố ượ

ườ

ươ

ướ

ệ ạ

l p

ớ Deck là m t b c h ng t i l p trình h ng đ i t ng.

ộ ướ ướ

ớ ậ

ướ

ố ượ

Đa s các ph

ng th c là ph

ng th c đ i t

ng (nh nh ng ph

ng th c mà ta kích ho t lên

ươ

ươ

ứ ố ượ

ư

ươ

các Strings) thay vì các ph

ng th c l p (nh các ph

ng th c

ươ

ứ ớ

ư

ươ

ứ Math). Nh ng ph ng th c mà đ n gi

ươ

ế

ta đã vi t v n là ph

ng th c l p. ch

ng này ta s vi t m t s ph

ng th c đ i t

ng.

ế ẫ

ươ

ứ ớ Ở ươ

ẽ ế

ộ ố

ươ

ứ ố ượ

Các đ i t

ng cô l p kh i nhau b ng cách h n ch nh ng cách th c t

ng tác gi a chúng, đ c bi t

ố ượ

ế

ứ ươ

b ng cách ngăn không cho chúng truy c p các bi n th c th mà không kích ho t các ph

ng th c.

ế

ươ

Các l p đ

c t ch c trong cây gia đình, đó nh ng l p m i thì m r ng t l p cũ, qua vi c b sung

ượ ổ ứ

ở ộ

ừ ớ

ệ ổ

nh ng ph

ng th c m i và thay th ph

ng th c s n có.

ươ

ế

ươ

ứ ẵ

ch

ng này tôi chuy n ch

ng trình

Ở ươ

ươ

Card ch

ng tr

c, t phong cách th t c sang h

ng đ i

ở ươ

ướ

ủ ụ

ướ

t

ng. B n có th t i v mã l nh t ch

ng này t i

ượ

ể ả ề

ừ ươ

http://thinkapjava.com/code/Card3.java.

15.2 Các ph

ng th c đ i t

ng và ph

ng th c l p

ươ

ố ượ

ươ

ứ ớ

Có hai ki u ph

ng th c trong Java, g i là

ươ

ph

ng th c l p

ươ

ứ ớ ph ng th c đ i t ng

ươ

ố ượ . Ph ng

ươ

th c l p d nh n th y b i có t khóa

ứ ớ

ấ ở

static ngay trên dòng đ u. Còn b t kì ph

ng th c nào

ươ

không có t

khóa static này thì đ u là ph

ng th c đ i t

ng.

ươ

ứ ố ượ

Dù ch a vi t đ

c ph

ng th c đ i t

ng nào, song ta đã kích ho t m t s ph

ng th c nh v y. M i

ư

ế ượ

ươ

ứ ố ượ

ộ ố

ươ

ư ậ

khi b n kích ho t m t ph

ng th c “lên” m t đ i t

ng, thì đó chính là ph

ng th c đ i t

ng. Ch ng

ươ

ộ ố ượ

ươ

ứ ố ượ

h n,

ạ charAt và nh ng ph ng th c khác mà ta kích ho t lên nh ng đ i t ng

ươ

ố ượ String đ u là các ph ng

ươ

th c đ i t

ng.

ứ ố ượ

B t c th gì vi t đ

c là ph

ng th c l p cũng có th đ

c vi t thành ph

ng th c đ i t

ng, và

ấ ứ ứ

ế ượ

ươ

ứ ớ

ể ượ

ế

ươ

ứ ố ượ

ng

c l i. Song đôi khi, s có m t cách vi t t nhiên h n cách kia.

ượ ạ

ế ự

ơ

Ch ng h n, sau đây là

printCard vi t d

i d ng ph

ng th c l p:

ế ướ ạ

ươ

ứ ớ

public static void

printCard(Card c) {

System.out.println(ranks[c.rank] +

" of "

+ suits[c.suit]);

}

Còn sau đây, nó đ

c vi t l i thành ph

ng th c đ i t

ng:

ượ

ế ạ

ươ

ứ ố ượ

public void

print() {

System.out.println(ranks[rank] +

" of "

+ suits[suit]);

}

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.