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();
/**