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 01
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
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 24 tháng 02 năm 2011
Trang 2
MỤC LỤC
1 Mục tiêu ....................................................................................................................... 3
2 Nội dung ...................................................................................................................... 3
2.1 Ví dụ ....................................................................................................................... 3
2.2 Bài làm ................................................................................................................... 3
2.2.1 Thiết kế ............................................................................................................ 3
2.2.2 Cài đặt ............................................................................................................. 6
2.2.2.1 Tạo project ................................................................................................... 6
2.2.2.2 Cài đặt lớp .................................................................................................... 8
2.2.2.3 Sử dụng lớp Diem ...................................................................................... 11
3 Bài tập ........................................................................................................................ 14
Trang 3
1 Mục tiêu
- Ôn tập về phương pháp lập trình hướng đối tượng, áp dụng cho ngôn ngữ VB.NET
2 Nội dung
2.1 Ví dụ - Thiết kế lớp điểm trong mặt phẳng Oxy và cài đặt minh họa bằng ngôn ngữ
VB.NET
2.2 Bài làm
2.2.1 Thiết kế
- Khi thiết kế một lớp (lớp Diem) ta quan tâm đến 2 thành phần:
- Thành phần dữ liệu.
- Các phương thức của lớp.
- Các thành phần dữ liệu có trong lớp Diem.
- Các loại phương thức thường có trong một lớp.
Trang 4
- Các phương thức khởi tạo lớp Diem bao gồm các phương thức sau:
- Đối với mỗi phương thức, ta sẽ xác định tham số truyền vào cũng như kết quả trả
ra của nó.
- Chẳng hạn, với phương thức khởi tạo đầy đủ tham số:
1. Tham số (truyền vào): 2 giá trị hoành độ (x) và tung độ (y).
2. Trả về: phương thức này không trả về giá trị nào (void).
- Các phương thức cung cấp thông tin bao gồm:
- Chẳng hạn, với phương thức cung cấp thong tin tung độ (y):
1. Tham số: không có.
2. Trả về: tung độ.
- Các phương thức cập nhật thông tin:
Trang 5
- Chẳng hạn, với phương thức dịch chuyển điểm qua trái 1 đơn vị:
1. Tham số: không có. Vì ta biết rõ là dịch trái 1 đơn vị với điểm đang xét.
2. Trả về: không có. Thay đổi trực tiếp trên hoành độ của điểm đang xét.
- Các phương thức xử lý tính toán trong lớp Diem bao gồm:
- Xét phương thức tính khoảng cách giữa 2 điểm, ta thấy:
1. Tham số: điểm thứ hai cần tính khoảng cách tới. Điểm thứ nhất chính là
điểm gọi thực hiện phương thức này.
2. Trả về: giá trị khoảng cách.
- Các phương thức kiểm tra cho lớp Diem:
- Xét phương thức kiểm tra điểm có thuộc phần tư thứ II hay không?
1. Tham số: không có
2. Trả về: cho biết có thuộc phần tư thứ II (giá trị 1) hay không thuộc phần tư
thứ II (giá trị 0). Ở đây, ta chọn kiểu int để biểu diễn.
Trang 6
2.2.2 Cài đặt
2.2.2.1 Tạo project
- Phần này sẽ minh họa trên Visual Studio 2008, đối với Visual Studio 2005 hay
2010 cũng hoàn toàn tương tự. Ngôn ngữ lập trình ở đây ta sử dụng là VB.Net.
- Mở Visual Studio lên.
- Tạo project:
- Tạo lớp Diem: Click phải lên project (đã tạo ở trên), trong cửa sổ Solution
Explorer và Add – New Item. Bên trái chọn Code; và bên phải chọn Class
Trang 7
Trang 8
2.2.2.2 Cài đặt lớp
- Khai báo hai thành phần dữ liệu _x và _y
- Khai báo và viết code xử lý cho phương thức khởi tạo mặc định (không tham số).
Ta lưu ý, với phương thức khởi tạo có tên là New. Đây là tên bắt buộc, không thể
thay đổi. Đối với phương thức khởi tạo mặc định thì không có tham số.
Trang 9
- Bây giờ, ta khai báo và viết code xử lý cho phương thức khởi tạo có đầy đủ tham
số (2 tham số). Cũng giống như trên phương thức khởi tạo phải có tên là New,
nhưng ở đây ta có 2 tham số là hoành độ x và tung độ y.
- Khai báo và viết code xử lý cho phương thức nhập thông tin một điểm
1. Để xuất thông tin ra màn hình, ta dùng phương thức Console.Write hoặc
Console.WriteLine
2. Để đọc thông tin người dùng nhập từ bàn phím, ta dùng phương thức
Console.ReadLine
- Khai báo và viết code xử lý cho phương thức xuất thông tin lớp Diem
Trang 10
1. {0} và {1} ở đây có nghĩa là, khi xuất ra màn hình, giá trị tham số ở vị trí 0
(giá trị x) và tham số ở vị trí 1 (giá trị y) sẽ được sử dụng.
- Khai báo và viết code xử lý phương thức cung cấp thông tin hoành độ và cập nhật
thông tin hoành độ.
1. Trong VB.Net, ngoài thành phần dữ liệu và phương thức, ta còn có một loại
là Property. Property bản chất là bản gộp của hai phương thức cung cấp
thông tin và cập nhật thông tin. Lưu ý, thay vì sử dụng từ khóa Sub hay
Function, ở đây ta sử dụng từ khóa Property. Một property gồm 2 thành
phần:
Get: đế cung cấp thông tin, hay nói cách khác là return giá trị về.
Set: để cập nhật thông tin, hay nói cách khác là gán giá trị cho một
thành phần dữ liệu. Ở đây value là một biến đặc biệt, đã được khai
báo sẵn. Chẳng hạn khi ta viết diemO.X = 10 thì value nhận giá trị
10 và câu lệnh này gán giá trị 10 cho thuộc tính _x
- Khai báo và viết code xử lý cho phương thức dịch trái:
- Khai báo và viết code xử lý cho phương thức tính khoảng cách hai điểm.
1. Ở đây, phương thức này cần có thêm tham số là điểm thứ 2 cần tính khoảng
cách đến. Giá trị trả về là khoảng cách (ta chọn kiểu Double). Lưu ý ở đây
ta dùng từ khóa Function thay vì Sub, vì phương thức này có trả về giá trị.
Trang 11
- Khai báo và viết code xử lý cho phương thức kiểm tra một điểm có thuộc góc phần
tư thứ I hay không
- Trên đây, ta đã điểm qua cài đặt cơ bản của lớp Diem trong ngôn ngữ VB.Net. Đối
với những phương thức khác, ta sẽ cài đặt tương tự.
2.2.2.3 Sử dụng lớp Diem
- Sau khi đã thiết kế và cài đặt lớp Diem, đến lúc ta thử sử dụng chúng. Sau đây sẽ
là một yêu cầu nhỏ gồm 9 câu:
1. Khai báo điểm O với thông tin mặc định
Sử dụng phương thức khởi tạo mặc định
2. Khai báo 2 điểm A, B với thông tin tọa độ là (3,0) và (0,4)
Sử dụng phương thức khởi tạo đầy đủ thông tin.
3. Khai báo điểm D với thông tin lấy từ điểm B
Sử dụng phương thức khởi tạo từ một điểm cho trước.
Trang 12
4. Khai báo điểm E và yêu cầu nhập thông tin từ bàn phím
Sử dụng phương thức khởi tạo mặc định và gọi phương thức nhập
của lớp điểm.
Hãy để ý cách gọi một phương thức. <biến thuộc lớp chứa phương
thức đó><dấu chấm><tên phương thức>(các tham số cách nhau
dấu phẩy).
5. Tính khoảng cách từ điểm B đến điểm C và xuất ra màn hình.
Sử dụng phương thức tính khoảng cách 2 điểm.
Hãy để ý cách nhận giá trị trả về của một phương thức. <biến có
kiểu tương ứng với kiểu trả về><dấu bằng><lời gọi hàm>
6. Xuất thông tin điểm E ra màn hình
Sử dụng phương thức xuất.
7. Kiểm tra xem điểm E có thuộc góc phần tư thứ I không và xuất ra màn
hình.
Sử dụng phương thức kiểm tra điểm thuộc góc phần tư thứ nhất.
Tùy vào giá trị trả về của phương thức mà xuất ra màn hình chuỗi
tương ứng.
Trang 13
8. Sử dụng property để lấy giá trị x của điểm E và xuất ra màn hình.
9. Sử dụng property để cập nhật giá trị x của điểm E.
- Sau đây là mã nguồn hoàn chỉnh của hàm main.
Trang 14
3 Bài tập
1. Hoàn thành hết các phương thức còn lại của lớp Diem.
2. Thiết kế, cài đặt và minh họa sử dụng lớp TamGiac trong mặt phẳng Oxy.
3. Thiết kế, cài đặt và minh họa sử dụng lớp DuongTron trong mặt phẳng
Oxy.