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

c nh v y không d s d ng, nên tôi s b qua chúng trong khuôn kh cu n sách này. N u mu n, b n

ư ậ

ễ ử ụ

ẽ ỏ

ổ ố

ế

có th xem qua tài li u c a l p

ệ ủ ớ Date trong gói java.util.

11.7 Các thao tác v i đ i t

ng

ớ ố ượ

Trong m t vài m c ti p theo, tôi s gi i thi u ba d ng ph

ng th c ho t đ ng trên các đ i t

ng:

ế

ẽ ớ

ươ

ạ ộ

ố ượ

hàm thu n tuý:

Nh n các đ i t ng làm tham s nh ng không thay đ i chúng. Giá tr tr l i thu c ki u nguyên thu

ố ượ

ư

ị ả ạ

ho c m t đ i t ng m i t o ra bên trong ph ng th c này.

ộ ố ượ

ớ ạ

ươ

ph

ng th c s a đ i:

ươ

ứ ử

Nh n đ i s là các đ i t ng r i s a đ i m t vài, ho c t t c nh ng đ i t ng đó. Th ng tr l i

ố ố

ố ượ

ồ ử

ặ ấ ả

ố ượ

ườ

ả ạ

đ i t ng r ng (void).

ố ượ

ph

ng th c đi n:

ươ

M t trong các đ i s là đ i t ng “tr ng tr n” s đ

c ph ng th c đi n thông tin vào. V m t kĩ

ố ố

ố ượ

ơ

ẽ ượ

ươ

ề ặ

thu t, đây cũng chính là m t dang ph ng th c s a đ i.

ươ

ứ ử

V i m t ph

ng th c cho tr

c ta th

ng có th vi t nó d

i d ng hàm thu n túy, ph

ng th c s a đ i

ươ

ướ

ườ

ể ế

ướ ạ

ươ

ứ ử

hay ph

ng th c đi n. Tôi s bàn thêm v u nh

c đi m c a t ng hình th c m t.

ươ

ề ư

ượ

ủ ừ

11.8 Các hàm thu n túy

M t ph

ng th c đ

c coi là hàm thu n túy n u nh k t qu ch ph thu c vào các đ i s , và ph

ng

ươ

ứ ượ

ế

ư ế

ả ỉ

ố ố

ươ

th c này không có hi u ng ph nh thay đ i m t đ i s ho c in ra thông tin gì. k t qu duy nh t c a

ệ ứ

ư

ộ ố ố

ế

ấ ủ

vi c kích ho t m t hàm thu n túy, đó là giá tr tr l i.

ị ả ạ

M t ví d là

ụ isAfter, đ so sánh hai đ i t ng

ố ượ Time r i tr l i m t

ả ạ

ộ boolean đ ch đ nh xem li u toán

ể ỉ ị

h ng th nh t có x p tr

c toán h ng th hai hay không:

ế

ướ

public static boolean

isAfter(Time time1, Time time2) {

if

(time1.hour > time2.hour)

return true

;

if

(time1.hour < time2.hour)

return false

;

if

(time1.minute > time2.minute)

return true

;

if

(time1.minute < time2.minute)

return false

;

if

(time1.second > time2.second)

return true

;

return false

;

}

K t qu c a ph

ng th c này s là gì n u hai th i gian đã cho b ng nhau? Li u đó có ph i là k t qu

ế

ả ủ

ươ

ế

ế

phù h p đ i v i ph

ng th c này không? N u b n vi t tài li u cho ph

ng th c này, li u b n có đ c p

ố ớ

ươ

ế

ế

ươ

ề ậ

rõ đ n tr

ng h p đó không?

ế

ườ