Tr v
ở ề M c l c
ụ ụ cu n sách
ố
C NH BÁO: Trong ch
ng này, ta ti n thêm m t b
c n a v l p h
ng đ i t
ng nh ng v n ch a h n
Ả
ươ
ế
ộ ướ ữ ề ậ
ướ
ố ượ
ư
ẫ
ư
ẳ
đ n đ
c đó. B i v y, nhi u ví d v n ch a đúng gi ng Java, nghĩa là ch a ph i mã l nh Java chu n.
ế
ượ
ở ậ
ề
ụ ẫ
ư
ọ
ư
ả
ệ
ẩ
Hình th c trung chuy n này (hi v ng r ng) s giúp b n h c, nh ng th c t tôi không vi t mã l nh nh
ứ
ể
ọ
ằ
ẽ
ạ
ọ
ư
ự ế
ế
ệ
ư
th này.
ế
B n có th t i v mã l nh cho ch
ng này t :
ạ
ể ả ề
ệ
ươ
ừ http://thinkapjava.com/code/Card2.java.
14.1 L p
ớ Deck
ch
ng tr
c, ta đã làm vi c v i m t m ng các đ i t
ng, nh ng cũng đ c p r ng hoàn toàn có th
Ở ươ
ướ
ệ ớ
ộ
ả
ố ượ
ư
ề ậ ằ
ể
có đ i t
ng có ch a bi n th c th là m ng. Trong ch
ng này, ta t o ra m t đ i t
ng
ố ượ
ứ
ế
ự
ể
ả
ươ
ạ
ộ ố ượ Deck có ch a
ứ
m t m ng nh ng đ i t
ng
ộ
ả
ữ
ố ượ Card.
L i đ nh nghĩa l p s trông nh sau:
ờ ị
ớ ẽ
ư
class
Deck {
Card[] cards;
public
Deck(
int
n) {
this
.cards =
new
Card[n];
}
}
đây, constructor kh i t o bi n th c th là m t m ng nh ng lá bài, nh ng nó không t o nên lá bài nào.
Ở
ở ạ
ế
ự
ể
ộ
ả
ữ
ư
ạ
Sau đây là s đ tr ng thái cho th y
ơ ồ ạ
ấ Deck mà không có lá bài nào kèm theo:
D
i đây là m t constructor không có đ i s đ t o nên m t c bài 52 lá r i đi n đ y nh ng đ i
ướ
ộ
ố ố ể ạ
ộ ỗ
ồ
ề
ầ
ữ
ố
t
ng
ượ Card vào nó:
public
Deck() {
this
.cards =
new
Card[52];
int
index = 0;
for
(
int
suit = 0; suit <= 3; suit++) {
for
(
int
rank = 1; rank <= 13; rank++) {
cards[index] =
new
Card(suit, rank);
index++;
}
}
}
Ph
ng th c này t
ng t nh
ươ
ứ
ươ
ự
ư makeDeck; ta ch vi c thay đ i cú pháp đ nó tr thành m t constructor.
ỉ ệ
ổ
ể
ở
ộ
Đ kích ho t nó, ta dùng
ể
ạ
new: