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

class

Time {

int

hour, minute;

double

second;

}

Đo n mã này t b n thân nó đã là l i khai báo l p h p l . S đ tr ng thái cho m t đ i t

ng

ự ả

ợ ệ ơ ồ ạ

ộ ố ượ Time s

trông nh sau:

ư

Sau khi khai báo các bi n th c th , b

c ti p theo là đ nh nghĩa m t constructor cho l p m i này.

ế

ể ướ

ế

11.3 Constructor

Các constructor có nhi mv kh i t o các bi n th c th . Cú pháp c a constructor cũng gi ng nh c a các

ở ạ

ế

ư ủ

ph

ng th c khác, tr ba đi m sau:

ươ

Tên c a constructor ph i gi ng nh tên l p.

ư

Constructor không có ki u tr v và cũng không có giá tr tr v .

ả ề

ị ả ề

T khoá

static đ

c b qua.

ượ ỏ

Sau đây là m t ví d cho l p

ớ Time:

public

Time() {

this

.hour = 0;

this

.minute = 0;

this

.second = 0.0;

}

ch mà b n trông đ i m t ki u tr v , gi a

Ở ỗ

ả ề

ữ public and Time, l i không có gì c . Đi u đó cho th y cách

mà chúng ta (và trình biên d ch n a) có th phân bi t đ

c r ng đây là m t constructor.

ệ ượ ằ

Constructor này không nh n tham s nào. M i dòng c a constructor kh i t o m t bi n th c th cho

ở ạ

ế

m t giá tr m c đ nh (trong tr

ng h p này là n a đêm). Cái tên

ị ặ ị

ườ

this là m t t khóa đ c bi t đ tham

ộ ừ

ệ ể

chi u t i đ i t

ng mà ta đang t o nên. B n có th dùng

ế ớ ố ượ

this theo cách gi ng nh dùng tên c a b t kì

ư

đ i t

ng nào khác. Ch ng h n, b n có th đ c và ghi các bi n th c th c a

ố ượ

ể ọ

ế

ể ủ this, và cũng truy n

đ

c

ượ this v i vai trò tham s đ n nh ng ph ng th c khác.

ố ế

ươ

Nh ng b n không khai báo cái

ư

this này và cũng không th gán giá tr cho nó.

this đ

c t o b i h th ng;

ượ ạ

ở ệ ố

t t c nh ng gì b n ph i làm đó là kh i t o các bi n th c th c a nó.

ấ ả

ở ạ

ế

ể ủ

M t l i th

ng g p khi vi t ra constructor là vi c đ a câu l nh

ộ ỗ

ườ

ế

ệ ư

ệ return vào cu i. Hãy ki m ch , tránh

ế

làm vi c này.

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.