
Trang 61
3.3.2.3 Chi tiết tổ chức bên trong các lớp đối tượng
3.3.2.3.1 Lớp ChatVoCo
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_NguyenTos
TaphopNguyenTo Lưu các đối
tượng của lớp
NguyenTo cùng
số lượng của
chúng tạo nên
đối tượng
ChatVoCo này
protected
2
m_ptpus
PhuongTrinhPhan
UngCollection
Khi đối tượng
ChatVoCo này
phản ứng với
một chất khác
nó có thể tạo ra
một hoặc nhiều
phương trình
phản ứng khác
nhau
protected
• Danh sách các thuộc tính (properties) :
ST
T
Tên Loại Ý nghĩa Ghi
chú
1 M float Khối lượng Read-
only
2
NguyenTos TapHopNguyenTo Tương ứng
m_nguyent
os
Read –
only
3 PhuongTrinhPhanUn
gs
PhuongTrinhPhanUngCollect
ion
Tương ứng
m_ptpus
public

Trang 62
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
XacDinhChat ten : string Xác định đối
tượng có tên
chất như vậy
Đối tượng
thuộc lớp
tương ứng
static
2
LaChatKhi chat :
ChatVoCo
Xác định
chất cho có
phải là chất
khí hay
không
True : đúng
False : sai
static
3
KimLoaiMuoi kl : KimLoai
m : Muoi
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tựong
Muoi
True:có
False:không
Tính
m_ptpus
protecte
d
4
KimLoaiAxit kl : KimLoai
axit : Axit
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tựong
Axit
True:có
False:không
Tính
m_ptpus
protecte
d
5
KimLoaiH2O kl : KimLoai
h2O : H2O
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tượng
H2O
True:có
False:không
Tính
m_ptpus
protecte
d
6
KimLoaiPhiKimVII kl : KimLoai
pk :
PKNhomVII
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tượng
PKNhomVII
True:có
False:không
Tính
m_ptpus
protecte
d

Trang 63
7
KimLoaiPhiKimVI kl : KimLoai
pk :
PKNhomVI
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tượng
PKNhomVI
True:có
False:không
Tính
m_ptpus
protecte
d
8
KimLoaiPhiKimV kl : KimLoai
pk :
PKNhomV
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tượng
PKNhomV
True:có
False:không
Tính
m_ptpus
protecte
d
9
KimLoaiPhiKimIV kl : KimLoai
pk :
PKNhomIV
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tượng
PKNhomIV
True:có
False:không
Tính
m_ptpus
protecte
d
10 … … … … …
Danh sách các hàm tiếp theo sẽ theo tính chất hoá học của các chất vô cơ có thể
phản ứng với nhau.
o Giải thuật hàm XacDinhChat :
Kiểm tra chất có thuộc lớp NguyenTo(phi kim + kim loại) ?
đúng : tạo mới đối tượng thuộc lớp NguyenTo tương ứng với tenChat
đã cho, dừng
sai : Kiểm tra chất có thuộc lớp HopChatOH (oxit + RH) ?
đúng : tạo mới đối tượng thuộc lớp HopChatOH tương ứng với
tenChat đã cho, dừng
sai : Kiểm tra chất có thuộc lớp HopChatDienTich (axit + bazo +
muối)?

Trang 64
đúng : tạo mới đối tượng thuộc lớp HopChatDienTich tương ứng với
tenChat đã cho, dừng
sai : trả về giá trị null thông báo tên chất không hợp lệ
o Giải thuật hàm LaChatKhi :
Nếu chất là phi kim và chất là chất khí (O,N,F,Cl,I) trả về true
nếu không trả về false
o Giải thuật hàm KimLoaiMuoi :
Kiểm tra kim loại có đứng trước kim loại của ion dương muối
nếu không -> không phản ứng, dừng
nếu có trả về chất tạo thành là (kim loại mới và muối mới).
o Giải thuật hàm KimLoaiAxit :
Kiểm tra axit thuộc loại gì ?
Nếu axit là HNO3 thì gọi hàm kimLoaiTacDungAxitHNO3
Nếu axit là H2SO4 thì gọi hàm kimLoaiTacDungAxitH2SO4
Nếu là axit khác thì gọi hàm kimLoaiTacDungAxitThuong
o Giải thuật hàm KimLoaiH2O :
Nếu KimLoai là KLNhomI hay KLNhomII thì có phản ứng xảy ra
Nếu không thì trả về null
I.A.1.a.16. Lớp NguyenTo
• Danh sách các biến thành phần (field) :
STT Tên Loại Ý nghĩa Ghi
chú
1 m_nt enumNguyenTo Kiểu tập hợp enum private
2 db DataBase Để truy vấn dữ liệu private
3 m_soHieuNtu int Số hiệu nguyên tử private
4 m_ten string Tên nguyên tố private
5 m_kyHieu string Kí hiệu nguyên tử private
6 m_khoiLuong float Khối lượng của nguyên tử private
7 m_cauHinhElectron string Cấu hình electron private
8 m_doAmDien float Độ âm điện private
9 m_tapHopSoOxiHoa int[] Tập hợp số oxi hoá có thể
có của nguyên tử
private
10 m_soOxiHoa int Số oxi hoá của đối tựong
nguyento hiện tại
protect
ed

Trang 65
• Danh sách các thuộc tính (properties)
STT Tên Loại Ý nghĩa Ghi chú
1 Ten enumNguyenTo m_ten public
2 SoHieuNguyenTu int m_soHieuNtu public
3 TenNguyenTu string m_tenNguyenTu public
Read-only
4
KyHieu string m_kyHieu public
Read –
only
5 KhoiLuong float m_khoiLuong public
Read - only
6
CauHinhElectron string m_cauHinhElectron public
Read –
only
7 DoAmDien float m_doAmDien public
Read only
8 TapHopSoOxiHoa int[] m_tapHopSoOxiHoa public
Readonly
9
SoOxiHoa int Kiểm tra giá trị số oxi
hoá khởi gán có nằm
trong tập hợp số oxi
hoá của nguyên tố hay
không?
public
• Danh sách các hàm thành phần (methods)
STT Tên Tham số Xử lý Kết quả Ghi
chú
1
Clone Tạo mới đối
tượng copy từ
đối tượng này
trả về đối
tượng
NguyenTo
được copy
public
2
LaNguyenTo ten : string Kiểm tra với
tên đó có là
nguyento hày
không
true : đúng
false : sai
public
static
3
XacDinhNguyenTo ten : string Trả về chính
xác đối tựơng
có ten như vậy
null :
không là
NguyenTo
public
static