Bài giảng Nguyên lý lập trình hướng đối tượng

300 20 0
Bài giảng Nguyên lý lập trình hướng đối tượng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giảng viên Cù Việt Dũng Email dungcv@tlu edu vn ĐT 0964 644 986 NGUYÊN LÝ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CSE 224 TRƯỜNG ĐẠI HỌC THỦY LỢI Khoa CNTT – Bộ môn CNPM mailto dungcv@tlu edu vn q Tên học phần Nguy[.]

TRƯỜNG ĐẠI HỌC THỦY LỢI Khoa CNTT – Bộ môn CNPM NGUYÊN LÝ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CSE 224 Giảng viên: Cù Việt Dũng Email: dungcv@tlu.edu.vn ĐT: 0964.644.986 Thông tin mơn học Tên học phần: Ngun lý lập trình hướng đối tượng q Mã học phần: CSE224 q Giảng viên: Cù Việt Dũng q Số tín chỉ: 03 q Email: dungcv@tlu.edu.vn q Phân bổ thời gian: q Phone: 0964 644 986 q § Giờ giảng lý thuyết: 30 tiết § Giờ thực hành: 15 tiết § Giờ tự học sinh viên: 90 tiết CSE 224_Giới thiệu học phần Mục tiêu học phần q Cung cấp cho sinh viên khối lượng kiến thức nguyên lý kỹ lập trình hướng đối tượng sử dụng ngơn ngữ lập trình C++ để minh họa: § Ngun lý lập trình hướng đối tượng: lớp, thuộc tính, phương thức, constructor, destructor, kế thừa, overload, override, hàm ảo, đa hình § Khơng gian tên, template, xử lý ngoại lệ CSE 224_Giới thiệu học phần Các qui định Không làm việc riêng lớp học q Tham gia đầy đủ buổi học, trao đổi, đóng góp ý kiến tích cực buổi học q Thảo luận nhóm cách sơi nổi, hiệu q Hồn thành nội dung kiểm tra theo thời gian qui định q q Chú ý: Không vắng mặt hơm kiểm tra CSE 224_Giới thiệu học phần Hình thức đánh giá q Điểm thảo luận q Điểm kì q Thi cuối kì: Thực hành CSE 224_Giới thiệu học phần 50% 50% Nội dung q Mở đầu: Giới thiệu q Chương 1: Nhắc lại C++ q Chương 2: Lớp đối tượng q Chương 3: Nạp chồng toán tử q Chương 4: Nguyên lý kế thừa q Chương 5: Khuôn mẫu (Template) thư viện chuẩn (STL) q Chương 6: Hàm ảo đa hình CSE 224_Giới thiệu học phần Thảo luận CSE 224_Giới thiệu học phần TRƯỜNG ĐẠI HỌC THỦY LỢI Khoa CNTT – Bộ mơn CNPM NGUN LÝ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CSE 224 Chương 1: Nhắc lại C++ Giảng viên: Cù Việt Dũng Email: dungcv@tlu.edu.vn ĐT: 0964.644.986 Nội dung 1.1 Tổng quan C++ q 1.2 Cấu trúc chương trình C++ q 1.3 Hàm nạp chồng hàm q 1.4 Con trỏ q 1.5 Cấu trúc q CSE224 - Nhắc lại C++ 1.1 Tổng quan C++ § § § § § § § Tác giả: Bjarne Stroustrup (Mỹ) Ý tưởng năm 1979 Được giới thiệu năm 1985 Phiên C++ 2.0 năm 1989 Phiên nhất: C++17 Môn học học khoảng 10% kiến thức C++ thư viện Cần 3-5 năm để trở thành lập trình viên C++ mức độ chuyên nghiệp CSE224 - Nhắc lại C++ …Example – Class Template int main(){ point ai(3,5); ai.display(); point ac('d','y’); ac.display(); point ad(3.5, 2.3); ad.display(); return 0; } CSE224 - Khuôn mẫu Dungcv 67 Các tham số khn mẫu lớp q Có loại: § Tham số kiểu § Tham số biểu thức q Có nhiều điểm giống khn mẫu hàm ràng buộc kiểu tham số lại khác CSE224 - Khuôn mẫu Dungcv 68 Các tham số khuôn mẫu lớp template //danh sách ba tham số kiểu class try { T x; U t[5]; V fm1 (int, U); }; CSE224 - Khuôn mẫu Dungcv 69 Các tham số khuôn mẫu lớp CSE224 - Khuôn mẫu Dungcv 70 Các tham số khuôn mẫu lớp CSE224 - Khuôn mẫu Dungcv 71 Các tham số khuôn mẫu lớp CSE224 - Khuôn mẫu Dungcv 72 Các tham số khuôn mẫu lớp q Tham số biểu thức khuôn mẫu lớp: tham số thực tế tương ứng với tham số biểu thức phải số q Giả sử định nghĩa lớp Arr để thao tác mảng chứa đối tượng có kiểu § Tham số 1: tham số kiểu § Tham số 2: tham số biểu thức để xác định số lượng phần tử CSE224 - Khuôn mẫu Dungcv 73 Tham số biểu thức template class Arr { T elements[n]; public: }; q Tham số kiểu xác định từ khóa class q Tham số biểu thức kiểu int Phải rõ giá trị khai báo lớp thể class Arr { § Arr int elements[4]; public: }; CSE224 - Khuôn mẫu Dungcv 74 Các tham số khuôn mẫu lớp q Có thể khai báo tùy ý tham số biểu thức khuôn mẫu hàm q Các tham số xuất nơi định nghĩa khuôn mẫu lớp q Khi cụ thể lớp có tham số biểu thức, tham số thực tế tương ứng truyền vào phải phù hợp với kiểu liệu khai báo CSE224 - Khn mẫu Dungcv 75 Cụ thể hóa khn mẫu lớp q khuôn mẫu lớp định nghĩa họ lớp lớp chứa đồng thời định nghĩa hàm thành phần q Tất hàm thành phần tên thực theo giải thuật q Nếu muốn hàm thành phần thích ứng tình cụ thể viết đ/n khác CSE224 - Khn mẫu Dungcv 76 Ví dụ #include #include using namespace std; template class point { T x,y; public: point(T abs=0,T ord=0){ x=abs;y=ord;} void display(); }; template void point::display() { cout

Ngày đăng: 02/10/2023, 13:37