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

Dòng ti p theo đ nh nghĩa m t

ế

constructor; đây là m t ph ng th c đ c bi t đ kh i t o bi n th c

ươ

ứ ặ

ệ ể

ở ạ

ế

th . Khi b n t o nên m t

ạ ạ

ộ Bug b ng cách kích ho t

ạ new, Java s kích ho t constructor này.

Tham s cho constructor này là chi u dài c nh.

Hành vi c a

ủ Bug đ c đi u khi n b i ph ng th c

ượ

ươ

ứ act. Sau đây là ph ng th c

ươ

ứ act c a

ủ BoxBug:

public void

act() {

if

(steps < sideLength && canMove()) {

move();

steps++;

}

else

{

turn();

turn();

steps = 0;

}

}

N u

ế BoxBug có th di chuy n, và ch a th c hi n đ s b c đi theo yêu c u, thì nó s di chuy n và

ư

ủ ố ướ

đ ng th i tăng bi n

ế steps.

N u nó đ ng ph i t

ng ho c đi h t m t c nh c a h p, thì con b s quay 90 đ sang ph i đ ng th i

ế

ả ườ

ế

ộ ạ

ọ ẽ

ả ồ

ch nh bi n

ế steps v 0.

Hãy ch y ch

ng trình và xem nó làm gì. B n có th y đ

c con b có hành vi nh d ki n không?

ươ

ượ

ư ự ế

10.1 Con m i

Tôi đã vi t ra m t l p có tên

ế

ộ ớ

Termite đ m r ng

ể ở ộ Bug và b sung kh năng t ng tác v i nh ng bông

ươ

hoa. Đ ch y đ

c l p này, b n hãy t i v nh ng file sau r i nh p chúng vào môi tr

ng phát tri n đang

ể ạ

ượ ớ

ả ề

ườ

dùng:
http://thinkapjava.com/code/Termite.java
http://thinkapjava.com/code/Termite.gif
http://thinkapjava.com/code/TermiteRunner.java
http://thinkapjava.com/code/EternalFlower.java
Vì Termite m r ng

ở ộ Bug, t t c nh ng ph ng th c c a

ấ ả

ươ

ứ ủ Bug đ u ho t đ ng đ c v i các

ạ ộ

ượ ớ

Termite.

Nh ng

ư Termite có thêm nh ng ph ng th c khác mà

ươ

Bug không có.

/**

* Trả lại true nếu con mối có mang bông hoa.

*/

public boolean

hasFlower();

/**

* Trả lại true nếu con mối quay mặt về phía bông hoa.

*/

public boolean

seeFlower();

/**

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.