hdth01 ltudql2-lap tinhduongdoituong-vb

14
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

Upload: dung-dinh

Post on 08-Jul-2015

863 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Hdth01 ltudql2-lap tinhduongdoituong-vb

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

Page 2: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

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

Page 3: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

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.

Page 4: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

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:

Page 5: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

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.

Page 6: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

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

Page 7: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

Trang 7

Page 8: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

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ố.

Page 9: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

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

Page 10: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

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ị.

Page 11: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

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.

Page 12: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

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.

Page 13: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

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.

Page 14: Hdth01 ltudql2-lap tinhduongdoituong-vb

[email protected]

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.