<< Chapter < Page Chapter >> Page >

Các bước cần thiết để thiết kế chương trình

Để thiết kế một chương trình theo hướng đối tượng, chúng ta phải trải qua bốn bước sau, từ đó chúng ta xây dựng được một cây phả hệ mang tính kế thừa và các mối quan hệ giữa các đối tượng:

Xác định các dạng đối tượng (lớp) của bài toán (định dang các đối tượng).

Tìm kiếm các đặc tính chung (dữ liệu chung) trong các dạng đối tượng này, những gì chúng cùng nhau chia xẻ.

Xác định được lớp cơ sở dựa trên cơ sở các đặc tính chung của các dạng đối tượng.

Từ lớp cơ sở, sử dụng quan hệ tổng quát hóa để đặc tả trong việc đưa ra các lớp dẫn xuất chứa các thành phần, những đặc tính không chung còn lại của dạng đối tượng. Bên cạnh đó, chúng ta còn đưa ra các lớp có quan hệ với các lớp cơ sở và lớp dẫn xuất; các quan hệ này có thể là quan hệ kết hợp, quan hệ tập hợp lại, quan hệ phụ thuộc.

Với các bước trên chúng ta có được cây phả hệ và quan hệ giữa các lớp. Đối với hệ thống phức tạp hơn, chúng ta cần phải phân tích để giải quyết được vấn đề đặt ra theo trật tự sau:

Phân tích một cách cẩn thận về các đối tượng của bài toán theo trật tự từ dưới lên (bottom up).

Tìm ra những gì tồn tại chung giữa các đối tượng, nhóm các đặc tính này lại để được các lớp cơ sơ như hình 7.1

Hình 7.1

Tiếp tục theo hướng từ dưới lên, chúng ta thiết kế được các đối tượng phù hợp như hình 7.2

Hình 7.2

Bằng cách này, chúng ta tiếp tục tìm các đặc tính chung cho đến tột cùng của các đối tượng.

Sau đó cài đặt theo hướng đối tượng từ trên xuống bằng cách cài đặt lớp cơ sở chung nhất.

Tiếp tục cài đặt các lớp dẫn xuất trên cơ sở các đặc tính chung của từng nhóm đối tượng.

Cho đến khi tất cả các dạng đối tượng của hệ thống được cài đặt xong để được cây phả hệ.

Các ví dụ

Ví dụ 7.1: Tính tiền lương của các nhân viên trong cơ quan theo các dạng khác nhau. Dạng người lao động lãnh lương từ ngân sách Nhà nước được gọi là cán bộ, công chức (dạng biên chế). Dạng người lao động lãnh lương từ ngân sách của cơ quan được gọi là người làm hợp đồng. Như vậy hệ thống chúng ta có hai đối tượng: biên chế và hợp đồng.

  Hai loại đối tượng này có đặc tính chung đó là viên chức làm việc cho cơ quan. Từ đây có thể tạo nên lớp cơ sở để quản lý một viên chức (lớp Nguoi) bao gồm mã số, họ tên và lương.

  Sau đó chúng ta xây dựng các lớp còn lại kế thừa từ lớp cơ sở trên:

Lớp dành cho cán bộ, công chức (lớp BienChe) gồm các thuộc tính: hệ số lương, tiền phụ cấp chức vụ.

Lớp dành cho người làm hợp đồng (lớp HopDong) gồm các thuộc tính: tiền công lao động, số ngày làm việc trong tháng, hệ số vượt giờ.

Hình 7.3

File PERSON.H

1: //PERSON.H

2: Định nghĩa lớp Nguoi

3: #ifndef PERSON_H

4: #define PERSON_H

5:

6: #include<iostream.h>

7:

8: #define MAX_TEN 50

9: #define MAX_MASO 5

10: #define MUC_CO_BAN 120000

11:

12: class Nguoi

13: {

14: protected:

15: char HoTen[MAX_TEN];

16: char MaSo[MAX_MASO];

17: float Luong;

18: public:

19: Nguoi();

20: virtual void TinhLuong()=0;

21: void Xuat() const;

22: virtual void Nhap();

23: };

24:

25: #endif

File PERSON.CPP

1: //PERSON.CPP

2: Định nghĩa hàm thành viên cho lớp Nguoi

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Lập trình hướng đối tượng. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10794/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Lập trình hướng đối tượng' conversation and receive update notifications?

Ask