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

// một cách lập thành và khởi tạo đối tượng Time

Time t1 =

new

Time();

t1.hour = 11;

t1.minute = 8;

t1.second = 3.14159;

System.out.println(t1);

// một cách khác để thực hiện việc tương tự

Time t2 =

new

Time(11, 8, 3.14159);

System.out.println(t2);

}

}

Trong main, l n đ u tiên kích ho t

ạ new, ta không c p cho đ i s nào, b i v y Java kích ho t constructor

ố ố

ở ậ

th nh t. Vài dòng phía d

i th c hi n gán giá tr cho các bi n th c th .

ướ

ế

L n th hai kích ho t

ạ new, ta c p các đ i s kh p v i các tham s c a constructor th hai. Cách kh i t o

ố ố

ố ủ

ở ạ

bi n th c th này g n gàng h n và hi u qu h n m t chút, song cách làm này có th khó đ c, b i nó

ế

ơ

ả ơ

không rõ ràng là giá tr nào đ

c gán cho bi n th c th nào.

ượ

ế

11.6 In các đ i t

ng

ố ượ

K t qu c a ch

ng trình nêu trên là:

ế

ả ủ

ươ

Time@80cc7c0

Time@80cc807

Khi Java in giá tr c a ki u đ i t

ng do ng

i dùng đ nh nghĩa, nó s in tên ki u cùng m t mã th p l c

ị ủ

ố ượ

ườ

ậ ụ

phân đ c bi t riêng c a t ng đ i t

ng. Mã này b n thân nó ch ng có ý nghĩa gì; th c t nó khác nhau

ủ ừ

ố ượ

ự ế

tuỳ máy tính và th m chí tuỳ c nh ng l n ch y ch

ng trình. Nh ng có th nó giúp ích cho vi c g l i,

ươ

ư

ệ ỡ ỗ

trong tr

ng h p b n mu n theo dõi t ng đ i t

ng riêng r .

ườ

ố ượ

Đ in các đ i t

ng theo cách có ý nghĩa h n đ i v i ng

i dùng (ch không ph i đ i v i l p trình

ố ượ

ơ

ố ớ

ườ

ả ố ớ ậ

viên), b n có th vi t m t ph

ng th c v i tên g i ki u nh

ể ế

ươ

ứ ớ

ư printTime:

public static void

printTime(Time t) {

System.out.println(t.hour +

":"

+ t.minute +

":"

+ t.second);

}

Hãy so sánh ph

ng th c này v i phiên b n

ươ

ả printTime M c

ở ụ 3.10.

K t qu c a ph

ng th c này, n u ta truy n

ế

ả ủ

ươ

ế

ề t1 ho c

ặ t2 làm đ i s , s là

ố ố ẽ 11:8:3.14159. M c dù ta có th

nh n ra đây là gi đ ng h , nh ng cách vi t này không h theo chu n quy đ nh. Ch ng h n, n u s phút

ờ ồ

ư

ế

ế ố

ho c s giây nh h n 10, ta s luôn d ki n r ng có s

ặ ố

ỏ ơ

ự ể ằ

ố 0 đi tr c. Ngoài ra, có th ta còn mu n b ph n

ướ

th p phân c a s giây đi. Nói cách khác, ta mu n k t qu ki u nh

ủ ố

ế

ả ể

ư 11:08:03.

Trong đa s nh ng ngôn ng l p trình, có nhi u cách đ n gi n đ đi u khi n đ nh d ng đ u ra cho k t

ữ ậ

ơ

ể ề

ế

qu s . Trong Java thì không có cách đ n gi n nào.

ả ố

ơ

Java có nh ng công c m nh dành cho vi c in d li u đ

c đ nh d ng nh gi đ ng h và ngày tháng,

ụ ạ

ữ ệ

ượ ị

ư ờ ồ

đ ng th i cũng có công c đ di n gi i d li u vào đ

c đ nh d ng. Song th t không may là nh ng công

ụ ể ễ

ả ữ ệ

ượ ị