Tài liệu thực hành Lập trình hướng đối tượng - Lab 1: Bắt đầu cài đặt lớp
Lab 01
Bắt đầu cài đặt lớp
Lập trình hướng đối tượng
1. Tổ chức lớp ra 2 tập tin riêng biệt .h và .cpp
2. Cài đặt thuộc tính và các getter, setter tương ứng
3. Cài đặt hàm tạo không đối, hàm hủy
4. Cài đặt hàm tạo với đối số
Mục tiêu
Bộ môn Công nghệ phần mềm – Khoa Công nghệ thông tin
Lập trình hướng đối tượng
Bắt đầu cài đặt lớp
1 Hướng dẫn khởi đầu
Mô tả bài tập
Cho trước thiết kế lớp Điểm trong không gian hai
chiều với 2 thuộc tính x và y.
Hãy cài đặt cụ thể lớp này với các thành phần:
+ Thuộc tính
+ Các hàm getter setter tương ứng
+ Hàm tạo và hàm hủy
+ Hàm tạo có đối số
Thiết kế tinh gọn và theo kí pháp Hungary
Hướng dẫn cài đặt
Bước 1: Tạo mới dự án
- Chọn loại dự án là C++ / Console Application.
- Đặt tên solution là: SimpleClass. Đặt tên project là PointV1.
- Nếu sử dụng Visual Studio 2017 trở lên cần vô hiệu hóa Precompiled header bằng
cách nhấn phải vào project chọn Properties. Vào mục C / C++ > All Options, tìm tới tùy
chọn Precompiled header và chọn Not using precompiled headers.
2
Lập trình hướng đối tượng
Bắt đầu cài đặt lớp
Bước 2: Tạo định nghĩa lớp trong file Point.h (CPoint.h)
- Thêm một tập tin header bằng cách nhấn phải vào project, chọn Add > New Item…
- Chọn loại tập tin là Header File (.h), đặt tên là Point.h (hoặc CPoint.h nếu bạn muốn sử
dụng kí pháp Hungary).
3
Lập trình hướng đối tượng
Bắt đầu cài đặt lớp
- Tạo ra định nghĩa lớp như sau:
Đúng ra getter và setter là các hàm nên cần được cài đặt ở trong tập tin .cpp. Tuy nhiên
riêng ở trong tình huống này quá đơn giản, thuần túy return và gán giá trị nên ta có thể
viết tắt, đặt cài đặt getter / setter ngay bên trong tập tin .h luôn. Nhưng nên nhớ cách
đúng là nên đặt ở file .cpp cho cài đặt, file .h chỉ dành để định nghĩa lớp.
4
Lập trình hướng đối tượng
Bắt đầu cài đặt lớp
Bước 3: Cài đặt lớp trong file Point.cpp (CPoint.h)
Chú ý:
- Hiện tại hàm hủy chưa có cài đặt gì nên nó đang rỗng
- Con trỏ this dùng để tham chiếu đến đối tượng gọi hàm hiện tại, có thể không cần
cũng được nếu không có nhập nhằng về đặt tên biến
5
Lập trình hướng đối tượng
Bắt đầu cài đặt lớp
Bước 4: Cài đặt hàm main để test việc cài đặt của lớp Point (CPoint)
Chạy lên và thấy kết quả như sau:
6
Lập trình hướng đối tượng
Bắt đầu cài đặt lớp
2 Bài tập vận dụng
Yêu cầu
1. Sử dụng StarUML thiết kế sơ đồ lớp, chụp hình kết quả nộp lại.
2. Thực hiện định nghĩa lớp theo thiết kế cho trước vào tập tin .h.
3. Thực hiện cài đặt lớp trong tập tin .cpp cho lớp tương ứng. Cần đảm bảo có tối
thiểu các thành phần sau:
+ Getter / Setter cho các thuộc tính private
+ Hàm tạo không đối, Hàm tạo có đối số
+ Hàm hủy (trước mắt có thể không có cài đặt)
4. Viết các đoạn mã nguồn kiểm tra việc định nghĩa lớp trong hàm main.
Danh sách bài tập cụ thể
1. Lớp Đường thẳng có hai thành phần Điểm: Bắt đầu và Kết thúc.
Gợi ý: Tên project: LineV1
+ Tên lớp: Line / CLine
+ Thành phần: _start, _end
2. Lớp Hình chữ nhật có hai thành phần Điểm: Trái trên và Phải Dưới
Gợi ý: Tên project: RectangleV1
+ Tên lớp: Rectangle / CRectangle
+ Thành phần: _topLeft, _bottomRight
3. Lớp Hình tam giác có ba thành phần Điểm ứng với 3 đỉnh : a, b, c.
Gợi ý: Tên project: TriangleV1
+ Tên lớp: Triangle / CTriangle
+ Thành phần: _a, _b, _c
4. Lớp Hình tròn có 2 thành phần: tâm (Lớp Điểm) và bán kính (số thực).
Gợi ý: Tên project: CircleV1
+ Tên lớp: Circle / CCircle
+ Thành phần: _center, _radius
7
Lập trình hướng đối tượng
Bắt đầu cài đặt lớp
5. Lớp Phân số có 2 thành phần: tử (số nguyên) và mẫu (số nguyên)
Gợi ý: Tên project FractionV1
+ Tên lớp: Fraction / CFraction
+ Thành phần: _num, _den
(Tử: Numerator, Mẫu: Denominator)
6. Lớp Sinh viên có 3 thành phần: họ (chuỗi), tên lót (chuỗi) và tên (chuỗi).
Gợi ý: Tên project StudentV1
+ Tên lớp: Student / CStudent
+ Thành phần: _firstName, _middleName, _lastName. Kiểu dữ liệu: string. Cần
include <string>
8
Lập trình hướng đối tượng
Bắt đầu cài đặt lớp
3 Hướng dẫn nộp bài
Trước khi nộp cần chú ý:
- Lấy tập tin exe được biên dịch sẵn trong thư mục Debug, copy nó ra thư mục Release
bên ngoài mã nguồn.
- Xóa hết tất cả các tập tin trung gian trong quá trình biên dịch bằng cách chọn Build >
Clean.
- Chú ý thư mục ẩn .vs rất nặng. Cần hiển thị file ẩn mới thấy và xóa nó đi được.
Nếu bạn muốn biết cách làm đúng thì cần tự tìm cách build ở chế độ Release và copy
file exe kết quả ra bên ngoài để nộp mới đúng. Tuy nhiên nếu chưa hiểu ý nghĩa thì cứ
lấy đại file exe có sẵn đi nộp cũng được (hiện tại đang trong thư mục Debug ứng với chế
độ biên dịch Debug)
Tổ chức bài nộp
+ Thư mục Source: chứa mã nguồn đã được clean
+ Thư mục Release: chứa tập tin thực thi đã được biên dịch từ mã nguồn
+ Tập tin readme.txt: chứa thông tin sinh viên, gồm MSSV và họ tên. Ghi chú kèm các
thông tin giáo viên cần chú ý khi chấm bài.
Để nộp bài, nén tất cả lại và đặt tên với định dạng MSSV.zip hoặc MSSV.rar và nộp.
Nếu làm đúng các bước trên file này sẽ có kích thước < 100 KB!
(Tuy nhiên cũng đừng quá lo lắng nếu nó khác con số trên, miễn < 12 MB để nộp được
trên moodle là okie nhé!)
Ngoài lề: Để đảm bảo sau này nhìn vào file nén còn biết ngay nó làm gì, ta nên thêm
vào một số thông tin theo sau MSSV. Ví dụ: 0712221-Lab01-SimpleClass.zip. Tuy nhiên
việc này là KHÔNG bắt buộc nhé.
-- HẾT --
9
Bạn đang xem tài liệu "Tài liệu thực hành Lập trình hướng đối tượng - Lab 1: Bắt đầu cài đặt lớp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
tai_lieu_thuc_hanh_lap_trinh_huong_doi_tuong_lab_1_bat_dau_c.docx

