À
B
À
I 2
XÂY DỰNG LỚPVÀĐÀO TẠO
XÂY
DỰNG
LỚP
VÀ
ĐÀO
TẠO
ĐỐI TƯỢNG JAVA
GIẢNG VIÊN TRẦNTHỊ VÂN
GIẢNG
VIÊN
:
TRẦN
THỊ
VÂN
v1.0011107228
1
TÌNH HUỐNG DẪN NHẬP
có
2
yếu
tố
liên
Pin (Battery)
Đ
è
n (FlashLamp)
Qua
tìm
hiểu
Lâm
thấy
có
2
yếu
tố
liên
quan đến đèn pin là: pin (battery) và
đèn (flashlamp).
Chứa năn
g
lư
ợ
n
g
Sử dụng năng lượng
Pin mang trong mình thông tin về trạng
thái năng lượng củanó.Đèn sẽ sử dụng
tác trao đổi năn
g
lư
ợ
n
g
g
iữa đèn-
p
in
,
Lâm nên làm thế nào?
v1.0011107228
2
ự g g ợ gg
p,
MỤC TIÊU BÀI HỌC
Trình bày được khái niệm về lớp, thuộc tính của lớp, phương thức, đối tượng.
Mô tả cách tạo lớp, thuộc tính và phương thức củalớp, cách tạovà sử dụng
đốitượng trong Java
đối
tượng
trong
Java
.
c
h
truy xu
ấ
tv
à
oc
á
cg
iá
tr
ị
t
h
u
ộ
ct
í
n
h
c
ủ
a
đốitượng.
1.1
3
v1.0011107228
5
2.1.1. BIẾN VÀ KIỂU DỮ LIỆU
• Biến:
• Quy tắc đặttênbiến:
Tê
biế
hỉ
đượ
ử
d
á
hữ
ái
à
hữ
ố
ký
hiệ
à
ký
hiệ
$
Tê
n
biế
nc
hỉ
đượ
cs
ử
d
ợ
ctrùn
g
vớit
ừ
khóa ho
ặ
ccácđ
ị
nh danh đãdùn
g
tron
g
Java
;
g
ợ
g
ặ
ị
g
g
;
Java là ngôn ngữ phân biệtchữ hoa, chữ thường.
• Những quy ước nên tuân theo khi đặttênbiến:
T
ên biếnnêncóýnghĩarõràng;
Tên biếnnênbắt đầubằng chữ cái thường, khi trong tên có nhiềuhơnmộttừ
thì
:
2.1.1. BIẾN VÀ KIỂU DỮ LIỆU (tiếp theo)
Căn
cứ
vào
vị
trí
khai
báo
biến
ta
có
:
•Biếnkhaibáongaytronglớp: thường gọilàcác
trường
.Từđây sẽ là khuôn
mẫutạoracác
biế
n
thuộ
c
đố
i
tượn
g
dùn
g
đ
ể
lưutr
Biến
địa
phương
sẽ
hết
giá
trị
sử
dụng
khi
ra
khỏi
khối
lệnh
.
•Biếnkhaibáobêntrongvùngdanhsáchcácthamsố củaphương thứchoặc
h
à
m
tạo
:
t
h
ườ
n
g
gọ
il
à
t
bit
số
nguyên
có
dấu
Kiểudữ liệuMôtả
Array
Tập
các
phần
tử
thuộc
cùng
byte
8
-
bit
,
số
nguyên
có
dấu
short 16-bit, số nguyên có
dấu
Array
Tập
các
phần
tử
thuộc
2.1.2. CÁC PHÉP TOÁN VÀ BIỂU THỨC
•Javachophépsử dụng biếnvớicácgiátrị như là các toán hạng kếthợpvớicác
toán tửđểxây dựng biểuthức.
• Các toán tử cơ bảntrongJavagồm:
Toán tử gán: =, +=, -=, *=, %=
Toán tử số học: +, -, *, /, %
Toán tử quan hệ: <, >, <=, >=, ==, !=
T
oán t
ử
logic: &&, ||, !
Toán tử bitwise: ^, >>, <<
T
oán t
ử
lượng giá: ?:
v1.0011107228
9
2.1.3. MÔ TẢ THUỘC TÍNH CỦA ĐỐI TƯỢNG TRONG LỚP
•
Thuộc
tính
là
những
đặc
điểm
đặc
trưng
g
đ
ể
lưutr
ữ
g
iá trị thuộctínhcủa đốitượn
g
.Cúphápkhai
g
g
g
g
báo trường:
<bổ_từ_truy_xuất> <kiểu_dữ_liệu> <tên_biến>;
private int energy;
private
int
energy;
Thuộc tính energy của
đốitượng battery
đối
tượng
battery
v1.0011107228
10
public class Battery {
/
**
g,
ậy,
ợ g
p
g
những giá trị thuộc tính khác nhau.
/
* Fields
*/
private String name;
private int energy;
/
Batter
/
**
* Constructor for objects
of class Battery
*/
public Battery(int energy) {
Batter
y
energy=80
e
nergy=30
public
Battery(int
tìm
hiểu
phần
thứ
nhất
,
bạn
nào
có
thể
cho
tôi
biết
sự
khác nhau giữabiến địaphương và biếnthuộc đốitượng?
v1.0011107228
12
2.1.5. KHỞI TẠO CÁC GIÁ TRỊ CHO THUỘC TÍNH
•Cácđốitư
ợ
n
g
khi đư
ợ
ct
ạ
oracần
p
hải đư
ợ
mọi
đối
tượng
được
tạo
Trường name sẽ có giá trị “con tho”
khi
khởi
t
từ
hà
t
/**
* Constructor for objects
of class Battery
*/
pub
li
c
B
atte
r
y(
in
t
gy
khởitạotừ các giá trị truyềnvàotừ
tham số củaphương thứchoặchàmtạo.
v1.0011107228
13
2.1.6. CÁCH THỨC TRUY XUẤT VÀO THUỘC TÍNH
•
Mặc
định
các
trường
với
chỉ
định
truy
xuất
là
private
sẽ
không
thể
đọc/ghi
được
•
Mặc
định
,
các
trường
với
100
;
}
public void setEnergy(int value) {
e
ner
gy
=value;
•
Nếu
một
trường
chỉ
có
phương
thứcgetthìcónghĩalàchỉđọc.
•Nếumộttrường chỉ có phương
gy
}
public int getEnergy() {
return energy;
}
thứcsetthìcónghĩalàchỉ ghi.
}
public void decreaseEnergy() {
energy ;
}
v1.0011107228
14
}
1.1
2
Tham số truyềnvàochophương thức.
1.1
3
Các kiểutruyềnthamsố.
1.1
4
Overloading phương thức.
1.1
5
Các cấutrúclậptrìnhcơ bảnsử dụng trong phương thức.
1.1
6
v1.0011107228
16
2.2.1. MÔ TẢ PHƯƠNG THỨC CỦA ĐỐI TƯỢNG TRONG LỚP
ể
•Phương thứclànhững mô tả cách thứcmàquađó đốitượng th
ể
hiệns
ự
hoạt động
hay chứcnăng của chúng.
•
Cú
pháp
khai
báo
phương
thứ
c
d
ecreaseEnergy()
t
rong
lớ
p Battery
energy ;
}
v1.0011107228
17
2.2.2. TRUY XUẤT VÀO PHƯƠNG THỨC CỦA ĐỐI TƯỢNG
•
Sử
dụng
đối
tượng
tham
chiếu
để
truy
xuất
sử
dụng
các
phương
thức
•
Sử
có giá trị trả về.
•Cácđốitượng khác có thể nhận đượckếtquả trả về sau lờigọiphương thức.
•
Ví
dụ
:
•
Ví
dụ
:
public int getEnergy() {
r
eturn energy;
Thựchiệnlờigọivànhậngiátrị trả về:
}
int e;
e = b.
g
etEner
gy();
g gy();
v1.0011107228
19
2.2.4. THAM SỐ TRUYỀN VÀO CHO PHƯƠNG THỨC
•
Một
phương
thức
có
lời
i
e
nergy=value;
}
T
ruy
ề
nt
h
am s
ố
khi
t
h
ực
hiệ
n
lời
gọ
i
:
b.setEnergy(100);
v1.0011107228
20
2.2.5. CÁC KIỂU TRUYỀN THAM SỐ
Căncứ vào kiểudữ liệutruyềnvàochophương thứctacó2kiểutruyềnthamsố:
•
Truyền
tham
biến
:
Áp
dụng
cho
các
kiểu
dữ
liệu
tham
chiếu
.
Truyền
tham
biến
:
Áp
dụng
cho
các
kiểu
dữ
liệu
tham
chiếu
.
Giá trị truyền vào chính là các đốitượng tham chiều, do vậy đốitượng có
thể bị thay đổibentrongphương thức.
v1.0011107228
21
thức setEner
gy
.
p
y
g
p g
gy
1: class Battery {
2: int energy;
3: void setEnergy(int energy){
4: energy = energy;
}
5:
}
6:}
v1.0011107228
23
2.2.6. OVERLOADING
•
Java
cho
phép
overloading
các
phương
thức
Tức
là
các
:
•
Ví
dụ
:
public boolean equals(int a, int b) {
return a==b;
}
public boolean equals(int a, int b, int c) {
t(b )
r
e
t
urn
(
a==
b
&& a==c
)
;
}
v1.0011107228
24
2.2.7. CÁC CẤU TRÚC LẬP TRÌNH CƠ BẢN DÙNG TRONG PHƯƠNG THỨC
•Cấutrúcrẽ nhánh.
i
f
if else
if…else if …else