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

Ch

ng 11: T t o nên nh ng đ i t

ng

ươ

ự ạ

ố ượ riêng

Tr v

ở ề M c l c

ụ ụ cu n sách

11.1 L i đ nh nghĩa l p và các ki u đ i t

ng

ờ ị

ố ượ

Tr v t n M c

ở ề ậ

ụ 1.5 khi chúng ta đ nh nghĩa l p

ớ Hello, ta đ ng th i t o nên m t ki u đ i t ng có

ờ ạ

ố ượ

tên Hello. Ta không t o nên bi n nào thu c ki u

ế

ể Hello này, và cũng không dùng new đ t o ra đ i

ể ạ

t

ng

ượ Hello nào, song vi c đó là hoàn toàn có th !

Ví d đó ch ng có m y tác d ng minh h a, b i không lý gì đ ta t o ra m t đ i t

ng

ộ ố ượ Hello nh v y, và

ư ậ

dù có t o nên thì cũng ch ng đ làm gì. Trong ch

ng này, ta s xét đ n nh ng đ nh nghĩa l p đ t o

ươ

ế

ể ạ

nên các ki u đ i t

ng

ố ượ có ích.

Sau đây là nh ng ý t

ng quan tr ng nh t trong ch

ng:

ưở

ươ

Vi c đ nh nghĩa m t l p m i đ ng th i cũng t o nên m t đ i t

ng m i cùng tên.

ệ ị

ộ ớ

ớ ồ

ộ ố ượ

L i đ nh nghĩa l p cũng gi ng nh m t b n m u cho các đ i t

ng: nó quy đ nh nh ng bi n th c th

ờ ị

ư ộ ả

ố ượ

ế

nào mà đ i t

ng đó ch a đ ng, và nh ng ph

ng th c nào có th ho t đ ng v i chúng.

ố ượ

ươ

ạ ộ

M i đ i t

ng thu c v m t ki u đ i t

ng nào đó; nh v y, nó là m t th c th c a m t l p nào đó.

ỗ ố ượ

ộ ề ộ

ố ượ

ư ậ

ể ủ

ộ ớ

Khi b n kích ho t

ạ new đ t o nên m t đ i t ng, Java kích ho t m t ph ng th c đ c bi t có tên

ể ạ

ộ ố ượ

ươ

ứ ặ

constructor đ kh i t o các bi n th c th . B n c n cung c p m t ho c nhi u constructor trong l i

ở ạ

ế

ể ạ ầ

đ nh nghĩa l p.

Các ph

ng th c thao tác trên m t ki u đ

c đ nh nghĩa trong l i đ nh nghĩa l p cho ki u đó.

ươ

ượ ị

ờ ị

Sau đây là m t s v n đ v l i đ nh nghĩa l p:

ộ ố ấ

ề ề ờ ị

Tên l p (và do đó, tên c a ki u đ i t

ng) nên b t đ u bàng m t ch in, đ phân bi t chúng v i các

ố ượ

ắ ầ

ki u nguyên th y và nh ng tên bi n.

ế

B n th

ng đ t m t l i đ nh nghĩa l p vào trong m i file, và tên c a file ph i gi ng nh tên c a l p,

ườ

ộ ờ ị

ư

ủ ớ

v i ph n m r ng

ở ộ .java. Ch ng h n, l p

ớ Time đ c đ nh nghĩa trong file có tên

ượ ị

Time.java.

b t kì ch

ng trình nào, luôn có m t l p đ

c giao làm

Ở ấ

ươ

ộ ớ

ượ

l p kh i đ ng

ở ộ . L p kh i đ ng ph i ch a

ở ộ

m t ph

ng th c mang tên

ươ

main, đó là n i mà vi c th c thi ch

ng trình b t đ u. Các l p khác cũng

ơ

ươ

ắ ầ

th

ch a ph ng th c cùng tên

ươ

main, song ph

ng th c đó s không đ

c th c thi t đ u.

ươ

ượ

ừ ầ

Khi đã nêu nh ng v n đ này r i, ta hãy xét m t ví d v l p do ng

i dùng đ nh nghĩa, l p

ụ ề ớ

ườ

ớ Time.

11.2 Time

M t đ ng l c chung cho vi c t o nên ki u đ i t

ng, đó là đ gói g n nh ng d li u liên quan vào trong

ộ ộ

ệ ạ

ố ượ

ữ ệ

m t đ i t

ng đ ta có th coi nh m t đ n v duy nh t. Ta đã g p hai ki u nh v y, đó

ộ ố ượ

ư ộ ơ

ư ậ

là Point và Rectangle.
M t ví d khác, mà ta s t tay l p nên, là

ẽ ự

Time, đ bi u di n gi đ ng h . D li u đ

c gói trong m t

ể ể

ờ ồ

ồ ữ ệ

ượ

đ i t

ng Time bao g m có s gi , s phút, và s giây. B i m i đ i t

ng

ố ượ

ố ờ ố

ỗ ố ượ Time đ u ch a nh ng d li u

ữ ệ

này, nên ta c n bi n th c th đ l u gi chúng.

ế

ể ể ư

B

c đ u tiên là xác đ nh xem t ng bi n ph i thu c ki u gì. D

ng nh rõ ràng là

ướ ầ

ế

ườ

ư

hour (gi )

và minute (phút) đ u ph i là nh ng s nguyên. Đ cho v n đ đ

c thú v h n, ta hãy đ t

ề ượ

ị ơ

ặ second (giây)

là m t

ộ double.

Các bi n th c th đ

c đ nh nghĩa đo n đ u c a l i khai báo l p, bên ngoài b t kì l i khai báo ph

ng

ế

ể ượ ị

ầ ủ ờ

ươ

th c nào khác, nh sau:

ư

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.