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

đ n l

t nó m r ng

ế ượ

ở ộ Object. B t k chu i này có dài nh th nào thì

ấ ể

ư ế

Object v n là “t tiên” chung c a

t t c các l p.

ấ ả

Cây gia đình” c a các l p đ

c g i là th a k l p.

ượ ọ

ừ ế ớ Object th ng xu t hi n trên cùng, và t t c nh ng

ườ

ệ ở

ấ ả

l p “con” thì đ

c x p d

i. Ch ng h n, n u b n nhìn vào tài l u c a

ượ ế

ướ

ế

ệ ủ JFrame, b n s th y r ng ph n

ạ ẽ ấ ằ

c a s th a k cho ra

ủ ự ừ ế

JFrame.

15.8 Thi t k h

ng đ i t

ng

ế ế ướ

ố ượ

Th a k là m t đ c đi m quan tr ng. Có nh ng ch

ng trình s tr nên r t ph c t p n u không di n

ừ ế

ộ ặ

ươ

ẽ ở

ứ ạ

ế

đ t đ

c m t cách g n gàng, đ n gi n b ng đ c đi m nói trên. H n n a, th a k có th giúp t n d ng

ạ ượ

ơ

ơ

ừ ế

l i mã l nh, vì b n có th ch nh l i theo ý thích cách ng x c a nh ng l p s n có mà không c n s a đ i

ể ỉ

ử ủ

ớ ẵ

ầ ử

chúng.

M t khác, th a k có th làm cho ch

ng trình r t khó đ c. Khi b n th y m t l i kích ho t ph

ng

ừ ế

ươ

ộ ờ

ươ

th c, th t khó đ hình dung ra ph

ng th c nào đ

c kích ho t.

ươ

ượ

Ngoài ra, nhi u th có th th c hi n b ng cách th a k cũng có th làm đ

c ho c th m chí t t h n mà

ể ự

ừ ế

ượ

ố ơ

không dùng cách này. Cách làm thay th th

ng g p là

ế ườ

t ng h p

, trong đó các đ i t ng đ c k t h p

ố ượ

ượ ế ợ

t nh ng đ i t

ng có s n, qua đó b sung thêm tính năng mà không c n th a k .

ố ượ

ừ ế

Vi c thi t k nên nh ng đ i t

ng và m i liên h gi a chúng là ch đ nghiên c u c a

ế ế

ố ượ

ệ ữ

ủ ề

ứ ủ thi t k h

ng

ế ế ướ

đ i t

ng

ố ượ , m t lĩnh v c n m ngoài ph m vi cu n sách này. Song n u b n quan tâm, tôi s g i ý b n

ự ằ

ế

ẽ ợ

đ c quy n

Head First Design Patterns, c a nhà xu t b n O’Reilly Media.

ấ ả

15.9 Thu t ng

ph

ng th c đ i t

ng:

ươ

ố ượ

M t ph ng th c đ c kích ho t lên m t đ i t ng, đ ng th i ho t đ ng trên đ i t ng đó. Các

ươ

ứ ượ

ộ ố ượ

ạ ộ

ố ượ

ph ng th c đ i t ng thì không có ch a t khóa

ươ

ứ ố ượ

ứ ừ

static.

ph

ng th c l p:

ươ

ứ ớ

M t ph ng th c có t khóa

ươ

static. Ph ng th c l p không đ c kích ho t trên đ i t ng và

ươ

ứ ớ

ượ

ố ượ

chúng không có đ i t

ng hi n hành.

ố ượ

đ i t

ng hi n hành:

ố ượ

Đ i t

ng mà trên đó m t ph ng th c đ i t

ng đ c kích ho t. Bên trong ph ng th c, đ i

ố ượ

ươ

ứ ố ượ

ượ

ươ

t ng hi n hành đ

c tham chi u đ n b ng

ượ

ượ

ế

ế

ằ this.

ng m:

Th đ c l

t qua không nói đ n, hay đ

c ng ý. Bên trong m t ph ng th c đ i t

ng, b n có th

ứ ượ ướ

ế

ượ

ươ

ứ ố ượ

tham chi u đ n nh ng bi n th c th m t cách ng m (nghĩa là không nh c đ n tên đ i t ng).

ế

ế

ế

ể ộ

ắ ế

ố ượ

t

ng minh:

ườ

Th đ c ghi rõ ra. Bên trong m t ph ng th c l p, t t c nh ng tham chi u đ n bi n th c th

ứ ượ

ươ

ứ ớ

ấ ả

ế

ế

ế

ph i đ c vi t t

ng minh.

ả ượ

ế ườ

15.10 Bài t p

Bài t p 1

T i v các

ả ề

file http://thinkapjava.com/code/CardSoln2.java http://thinkapjava.com/code/CardSoln3.java.
File CardSoln2.java ch a l i gi i nh ng bài t p c a ch

ng tr

c. Nó ch dùng các ph

ng th c l p (tr

ứ ờ

ậ ủ

ươ

ướ

ươ

ứ ớ

các constructor). CardSoln3.java cũng ch a ch

ng trình này, nh ng đa s các ph

ng th c đ u là

ươ

ư

ươ

ứ ề

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.