hdth02 ltudql02--tuan02 tt-

17
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM HỆ TẠI CHỨC MÔN: LẬP TRÌNH ỨNG DỤNG QUẢN LÝ 02 GVLT: ThS. BÙI TẤN LỘC HƯỚNG DẪN THỰC HÀNH TUẦN 02 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (TT) Người soạn: Nguyễn Đức Huy Ngô Ngọc Đăng Khoa Nguyễn Lê Nguyên Ngữ Hồ Tuấn Thanh TP.HCM, ngày 13 tháng 03 năm 2011

Upload: dung-dinh

Post on 02-Jul-2015

509 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Hdth02 ltudql02--tuan02 tt-

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM HỆ TẠI CHỨC MÔN: LẬP TRÌNH ỨNG DỤNG QUẢN LÝ 02

GVLT: ThS. BÙI TẤN LỘC

HƯỚNG DẪN THỰC HÀNH

TUẦN 02

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (TT)

Người soạn:

Nguyễn Đức Huy

Ngô Ngọc Đăng Khoa

Nguyễn Lê Nguyên Ngữ

Hồ Tuấn Thanh

TP.HCM, ngày 13 tháng 03 năm 2011

Page 2: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 2

MỤC LỤC

1 Mục tiêu ....................................................................................................................... 3

2 Hướng dẫn ................................................................................................................... 3

2.1 Đề bài ..................................................................................................................... 3

2.2 Phân tích ................................................................................................................. 3

2.3 Cài đặt .................................................................................................................... 4

3 Bài tập ........................................................................................................................ 16

3.1 Quản lý nhân viên ................................................................................................ 16

3.2 Quản lý thư viện ................................................................................................... 16

3.3 Quản lý sinh viên ................................................................................................. 17

Page 3: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 3

1 Mục tiêu

- Ôn lại tính chất kế thừa và đa xạ trong phương pháp lập trình hướng đối tượng, cài

đặt bằng ngôn ngữ VB.NET.

2 Hướng dẫn

2.1 Đề bài Ngân hàng X mở dịch vụ cho khách hàng lập sổ tiết kiệm. Thông tin sổ mà ngân hàng

cần ghi nhận gồm CMND, họ tên khách hàng, số tiền gửi (triệu đồng), ngày lập sổ và lãi

suất (%).

Có 2 loại sổ tiết kiệm là sổ có kỳ hạn và sổ không có kỳ hạn. Đối với sổ có kỳ hạn, cần

lưu lại thông tin kỳ hạn (gửi bao nhiêu tháng).

Khách hàng của bạn là ngân hàng X, yêu cầu bạn viết chương trình thực hiện các chức

năng sau:

1. Nhập danh sách các sổ tiết kiệm.

2. Xuất danh sách các số tiết kiệm ra màn hình.

3. Tính số tiền lãi phải trả. Người dùng sẽ nhập vào số tháng n. Chương trình sẽ tính

tổng số tiền lãi phải trả. Biết:

Đối với sổ không có kỳ hạn: Tiền lãi = Tiền gửi * Lãi suất * n.

Đối với sổ có kỳ hạn:

o Tiền lãi = Tiền gửi * Lãi suất * n, nếu n lớn hơn bằng kỳ hạn.

o Ngược lại, tiền lãi của sổ đó bằng 0.

Bạn hãy giải quyết bài toán trên theo phong cách lập trình hướng đối tượng với ngôn ngữ

VB.NET.

2.2 Phân tích - Trong bài này ta có thể xác định được các lớp sau:

o Sổ tiết kiệm: với các thuộc tính chung: CMND, họ tên khách hàng, số tiền

gửi (triệu đồng), ngày lập sổ và lãi suất (%).

o Sổ không có kỳ hạn: kế thừa lớp sổ tiết kiệm.

o Sổ có kỳ hạn: kế thừa lớp sổ tiết kiệm. Ngoài ra, nó còn có thêm một thuộc

tính mới là kỳ hạn.

o Ngân hàng: chứa danh sách (List Of) các sổ tiết kiệm.

- Để làm chức năng 1, ta thấy:

Page 4: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 4

o Trong lớp Ngân hàng cần có 1 hàm để nhập vào danh sách sổ tiết kiệm.

Hàm này sẽ thực hiện những thao tác sau:

Nhập số lượng số (có và cả không có kỳ hạn).

Thực hiện lặp với số lượng sổ:

Yêu cầu nhập loại sổ

Tạo ra (new) loại sổ tương ứng.

Nhập thông tin cho sổ đó

Thêm sổ đó vào danh sách sổ đang quản lý.

o Như vậy, trong lớp sổ tiết kiệm cần có thêm một hàm Nhập thông tin một

sổ.

o Do sổ tiết kiệm có kỳ hạn có thêm thông tin riêng, nên trong lớp này cần

viết lại (Override) làm Nhập thông tin này từ lớp cha.

o Lớp sổ tiết kiệm ko kỳ hạn không cần viết lại.

- Tương tự, để làm chức năng 2, ta thấy:

o Trong lớp Ngân hàng, cần có hàm để xuất thông tin các sổ tiết kiệm. Hàm

sẽ thực hiện các thao tác sau:

Duyệt qua từng sổ trong danh sách:

Xuất thông tin của sổ đang duyệt.

o Như vậy, trong lớp sổ tiết kiệm cần có thêm một hàm Xuất thông tin một

sổ.

o Khi xuất, ta cần xuất luôn loại sổ, nên lớp sổ tiết kiệm có kỳ hạn cần

override lại hàm Xuất từ lớp cha để xuất loại và thông tin kỳ hạn.

o Tương tự lí luận này, sổ tiết kiệm không kỳ hạn cũng cần override lại.

- Để làm chức năng 3, ta thấy:

o Trong lớp Ngân hàng, cần có thêm hàm tính tổng tiền lãi với tham số

n(tháng) truyền vào. Hàm sẽ thực hiện các thao tác sau:

Duyệt qua các sổ trong danh sách.

Tính lãi của từng sổ.

Cộng lãi tính được vào tổng lãi.

o Như vậy trong lớp sổ tiết kiệm cần có làm Tính lãi cho một số.

o Do cách tính lãi của 2 loại sổ khác nhau, nên trong 2 lớp sổ tiết kiệm có kỳ

hạn và sổ tiết kiệm không kỳ hạn cần override lại hàm này.

2.3 Cài đặt - Khai báo lớp SoTietKiem:

Page 5: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 5

Page 6: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 6

- Khai báo lớp SoCoKyHan:

o Lưu ý từ khóa kế thừa (Inherits).

Page 7: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 7

Page 8: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 8

- Khai báo lớp SoKoKyHan:

Page 9: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 9

Page 10: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 10

- Khai báo lớp NganHang:

Page 11: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 11

Page 12: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 12

- Thực hiện chức năng 1:

o Lớp NganHang (file NganHang.vb):

Page 13: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 13

o Lớp SoTietKiem (file SoTietKiem.vb):

Lưu ý từ khóa Overridable.

Page 14: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 14

o Lớp SoCoKyHan (file SoCoKyHan.vb):

Lưu ý từ khóa Overrides.

- Thực hiện chức năng 2:

o Lớp NganHang (file NganHang.vb):

o Lớp SoTietKiem (file SoTietKiem.vb):

Page 15: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 15

o Lớp SoCoKyHan (file SoCoKyHan.vb):

o Lớp SoKoKyHan (file SoKoKyHan.vb):

- Thực hiện chức năng 3:

o Lớp NganHang (file NganHang.vb):

o Lớp SoTietKiem (file SoTietKiem.vb):

Page 16: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 16

o Lớp SoCoKyHan (file SoCoKyHan.vb):

o Lớp SoKoKyHan (file SoKoKyHan.vb):

3 Bài tập

3.1 Quản lý nhân viên Công ty ABC có nhiều nhân viên làm việc trong các bộ phận khác nhau: quản lý, sản

xuất, văn phòng.

- Lương nhân viên văn phòng:

o Lương cơ bản + số ngày làm việc * 100k + trợ cấp

- Lương nhân viên sản xuất:

o Lương cơ bản + số sản phẩm*2000

- Lương nhân viên quản lý:

o Lương cơ bản + hệ số công việc + thưởng

Ngoài ra công ty còng có các thông tin về nhân viên: họ tên, và các thông số trên để tính

lương cho nhân viên trong công ty.

Viết chương trình:

1. Nhập vào danh sách nhân viên.

2. Xuất danh sách nhân viên ra màn hình.

3. Tính tổng lương phải trả trong một tháng.

3.2 Quản lý thư viện Thư viện X tiến hành cho đăng ký làm thẻ độc giả. Thông tin độc giả gồm họ tên, ngày

lập thẻ, số tháng có hiệu lực của thẻ.

Page 17: Hdth02 ltudql02--tuan02 tt-

[email protected]

Trang 17

Có hai loại độc giả: trẻ em và người lớn.

- Độc giả trẻ em cần lưu thêm thông tin họ tên người đại diện.

- Độc giả người lớn cần lưu thêm thông tin số CMND.

Viết chương trình:

1. Nhập danh sách độc giả.

2. Xuất danh sách ra màn hình.

3. Tính tổng tiền làm thẻ mà thư viện thu được. Biết

- Độc giả trẻ em:

o Tiền làm thẻ = 20.000 đ.

- Độc giả người lớn:

o Tiền làm thẻ = số tháng hiệu lực * 10.000 đ.

3.3 Quản lý sinh viên Trường X có 2 loại sinh viên chính qui và tiên tiến. Thông tin sinh viên gồm: MSSV, Họ

tên, Ngày sinh, ĐTB. Sinh viên tiên tiến cần có thêm thông tin điểm TOEFL iBT.

Viết chương trình:

1. Nhập vào danh sách sinh viên.

2. Xuất danh sách sinh viên ra màn hình.

3. Xuất ra màn hình danh sách sinh viên đủ điều kiện tốt nghiệp. Biết:

- Sinh viên chính qui:

o Điều kiện tốt nghiệp: ĐTB >= 5.

- Sinh viên tiên tiến:

o Điều kiện tốt nghiệp: ĐTB >= 6.5 và điểm TOEFL iBT >=80.