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

này, l p s n có đôi khi còn đ

c g i là l p

ớ ẵ

ượ ọ

cha mẹ và l p m i đ c g i là l p

ớ ượ ọ

con.

u đi m c b n c a đ c đi m này là b n có th b sung đ

c nh ng ph

ng th c và bi n th c th mà

Ư

ơ ả ủ

ể ổ

ượ

ươ

ế

không c n s a đ i l p cha m . Đi u này đ c bi t h u ích đ i v i các l p Java, vì b n có mu n cũng

ầ ử

ổ ớ

ệ ữ

ố ớ

ch ng th s a đ i đ

c chúng.

ể ử

ổ ượ

N u b n đã làm các bài t p GridWorld r i ( các Ch

ng

ế

ồ ở

ươ 5 10), b n s th y m t s ví d v th a k :

ạ ẽ ấ

ộ ố

ụ ề ừ ế

public class

BoxBug

extends

Bug {

private int

steps;

private int

sideLength;

public

BoxBug(

int

length) {

steps = 0;

sideLength = length;

}

}

BoxBug extends Bug nghĩa là BoxBug là m t lo i

ạ Bug m i đ a k th a nh ng ph ng th c và bi n th c

ớ ự ế ừ

ươ

ế

th c a

ể ủ Bug. Ngoài ra:

L p con có th có thêm các bi n th c th khác. Trong ví d này, các

ế

BoxBug có steps và sideLength.

L p con có th có thêm các ph

ng th c khác. Trong ví d này, các

ươ

BoxBug có thêm m t constructor

nh n vào tham s nguyên.

L p con có th

ghi đè lên m t ph ng th c th a h ng t l p cha m . Trong ví d này, l p con cung

ươ

ưở

ừ ớ

c p ph

ng th c

ươ

ứ act (không ch ra đây), đ ghi đè lên ph ng th c

ươ

ứ act c a l p cha m .

ủ ớ

N u b n đã làm các bài t p v đ h a Ph l c

ế

ề ồ ọ ở

ụ ụ A, b n còn th y m t ví d n a:

ụ ữ

public class

MyCanvas

extends

Canvas {

public void

paint(Graphics g) {

g.fillOval(100, 100, 200, 200);

}

}

MyCanvas là m t ki u m i c a

ớ ủ Canvas, ch ng có thêm ph ng th c hay bi n th c th nào, song nó ghi

ươ

ế

đè lên paint.
N u b n ch a t ng làm bài nào trong s đó thì gi đã là lúc r i!

ế

ư ừ

15.7 C u trúc th a k l p

ế ớ

Trong Java, t t c m i l p đ u m r ng t m t l p nào đó khác. L p c b n nh t đ

c g i là

ấ ả ọ ớ

ở ộ

ừ ộ ớ

ớ ơ ả

ấ ượ ọ

Object. Nó

không ch a bi n th c th nào, nh ng có cung c p các ph

ng th c

ế

ư

ươ

ứ equals và toString, cùng nh ng

ph

ng th c khác.

ươ

Nhi u l p m r ng

ề ớ

ở ộ Object, g m c h u h t nh ng l p ta đã vi t và nhi u l p Java khác,

ả ầ

ế

ế

ề ớ

nh

ư java.awt.Rectangle. B t kì l p nào không nói rõ tên l p cha m ra, thì đ u m c đ nh là th a h ng

ặ ị

ưở

t

ừ Object.

Tuy v y, m t s chu i th a k thì dài h n. Ch ng h n,

ộ ố

ừ ế

ơ

ạ javax.swing.JFrame m r ng

ở ộ java.awt.Frame,

đ n l

t nó l i m r ng

ế ượ

ở ộ Window, đ n l t nó m r ng

ế ượ

ở ộ Container, đ n l t nó m r ng

ế ượ

ở ộ Component,

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.