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

Ch

ng 14: Đ i t

ng ch a các

ươ

ố ượ

m ng

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: