02.thiet kelop

Post on 29-Jul-2015

237 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

LTUDQL 2

©HCMUS. - 1 -

Thiết kế lớp

Bùi Tấn Lộc

btloc@fit.hcmus.edu.vn

LTUDQL 2

©HCMUS.

1.Phương pháp luận

• Bước 1: phân tích• Xác định trong ngữ cảnh bài toán có bao nhiêu đối tượng và các đối

tượng này thuộc về những lớp nào

• Bước 2: thiết kế• Thiết kế các lớp đã được xác định ở bước 1 (trong trường hợp các lớp đó

không có sẵn). Việc thiết kế chia thành 2 giai đoạn:•Thiết kế thành phẫn dữ liệu

•Thiết kết thành phần xử lý.

• Bước 3: cài đặt• Là sự thể hiện bản thiết kế bằng một ngôn ngữ lập trình cụ thể. Trong

phạm vi môn học này chúng ta sẽ sử dụng ngôn ngữ VB.NET

- 2 -

LTUDQL 2

©HCMUS.

2.Thiết kế lớp

• Giai đoạn 1: Thiết kế thành phần dữ liệu• Xác định lớp đối tượng có những thông tin nào và kiểu dữ liệu của từng

thông tin cụ thể

• Giai đoạn 2: Thiết kế thành phần xử lý• Còn được gọi là thiết kế các phương thức cho lớp

• Xác định các khả năng mà các đối tượng của lớp phải có

• Người ta chia các khả năng thành 5 nhóm chính:1. Phương thức khởi tạo

2. Phương thức cung cấp thông tin

3. Phương thức cập nhật thông tin

4. Phương thức xử lý, tính toán

5. Phương thức kiểm tra

- 3 -

LTUDQL 2

©HCMUS.

2.1 Phương thức khởi tạo

• Có nhiệm vụ thiết lập các thông tin ban đầu cho đối tượng. Trong nhóm này lại chia thành các loại sau:• Phương thức khởi tạo mặc định

• Phương thức khởi tạo khi biết đầy đủ thông tin

• Phương thức khởi tạo khi biết một số thông tin (các thông tin còn lại được khởi tạo mặc định)

• Phương thức khởi tạo dựa vào một đối tượng khác

• Phương thức nhập

• Ghi chú: ngoài phương thức nhập các phương thức khởi tạo còn lại thường được thay thế bằng hàm tạo

- 4 -

LTUDQL 2

©HCMUS.

2.2 Phương thức cung cấp thông tin

• Có nhiệm vụ cung cấp thông tin của đối tượng cho thế giới bên ngoài, giúp cho đối tượng giao tiếp với chương trình và các đối tượng khác

• Ghi chú: Một số phương thức cung cấp thông tin thường được thay thế bằng đoạn lệnh Get trong câu lệnh Property

- 5 -

LTUDQL 2

©HCMUS.

2.3 Phương thức cập nhật thông tin

• Có nhiệm vụ cập nhật lại thông tin của đối tượng trong quá trình sống của đối tượng

• Ghi chú: Một số phương thức cập nhật thông tin thường được thay thế bằng đoạn lệnh Set trong câu lệnh Property

- 6 -

LTUDQL 2

©HCMUS.

2.4 Nhóm các phương thức xử lý tính toán

• Có nhiệm vụ xử lý tính toán bên trong đối tượng hay giữa đối tượng này với đối tượng khác

- 7 -

LTUDQL 2

©HCMUS.

2.5 Nhóm các phương thức kiểm tra

• Có nhiệm vụ thực hiện kiểm tra về mặt ràng buộc dữ liệu hay kiểm tra tính chất nào đó của đối tượng.

- 8 -

LTUDQL 2

©HCMUS.

3. Ví dụ

• Thiết kế lớp DiemOxy trong mặt phẳng Oxy• Phương pháp luận?

• Giai đoạn 1?

• Giai đoạn 2?

- 9 -

LTUDQL 2

©HCMUS.

3.1 Thiết kế thành phần dữ liệu

• Tung độ _x kiểu số thực

• Hoàng độ _y kiểu số thực

- 10 -

LTUDQL 2

©HCMUS.

3.2 Thiết kế thành phần xử lý3.2.1 Nhóm các phương thức khởi tạo

• Phương thức khởi tạo mặc định (giá trị hoành độ, tung độ được khởi tạo mặc định)

• Phương thức khởi tạo khi biết đầy đủ thông tin (khi biết chính xác giá trị hoành độ, tung độ)

• Phương thức khởi tạo khi biết một số thông tin (trong ngữ cảnh bài toán này không áp dụng)

• Phương thức khởi tạo dựa vào một đối tượng DiemOxy khác

• Phương thức nhập

- 11 -

LTUDQL 2

©HCMUS.

3.2.2 Nhóm các phương thức cung cấp thông tin

• Phương thức cung cấp thông tin hoành độ _x (đoạn lệnh Get trong câu lệnh Property)

• Phương thức cung cấp thông tin tung độ _y (đoạn lệnh Set trong câu lệnh Property)

• Phương thức xuất

- 12 -

LTUDQL 2

©HCMUS.

3.2.3 Nhóm các phương thức cập nhật thông tin

• Phương thức cập nhật tung độ _x (đoạn lệnh Set trong câu lệnh Property)

• Phương thức cập nhật tung độ _y (đoạn lệnh Set trong câu lệnh Property)

• Phương thức dịch chuyển điểm về phía bên trái 1 đơn vị

• Phương thức dịch chuyển điểm về phía bên phải 1 đơn vị

• Phương thức dịch chuyển điểm về phía bên trên 1 đơn vị

• Phương thức dịch chuyển điểm về phía bên dưới 1 đơn vị

•…

- 13 -

LTUDQL 2

©HCMUS.

3.2.4 Nhóm các phương thức xử lý tính toán

• Phương thức tính khoảng cách hoành độ _x giữa 2 điểm

• Phương thức tính khoảng cách tung độ _y giữa 2 điểm

• Phương thức tính khoảng cách giữa 2 điểm

- 14 -

LTUDQL 2

©HCMUS.

3.2.5 Nhóm các phương thức kiểm tra

• Phương thức kiểm tra điểm có nằm trong cung phần tư thứ 1 không

• Phương thức kiểm tra điểm có nằm trong cung phần tư thứ 2 không

• Phương thức kiểm tra điểm có nằm trong cung phần tư thứ 3 không

• Phương thức kiểm tra điểm có nằm trong cung phần tư thứ 4 không

- 15 -

LTUDQL 2

©HCMUS.

4. Cài đặt

• Xem demo, source code DiemOxyApp

- 16 -

LTUDQL 2

©HCMUS.

5.Áp dụng

• Thiết kế và cài đặt lớp TamGiac trong mặt phẳng Oxy

• Thiết kế và cài đặt lớp DuongTron trong mặt phẳng Oxy

- 17 -

LTUDQL 2

©HCMUS.

6.Câu hỏi

- 18 -

top related