Danh mục tài liệu

Bài giảng môn Lập trình hướng đối tượng - Trường Đại học Kỹ thuật Công nghiệp

Số trang: 112      Loại file: pdf      Dung lượng: 788.90 KB      Lượt xem: 9      Lượt tải: 0    
Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng môn Lập trình hướng đối tượng gồm có những nội dung chính sau: Chương 1 các khái niệm cơ sở của lập trình hướng đối tượng, chương 2 lớp, chương 3 toán tử tải bội, chương 4 kế thừa, chương 5 khuôn hình. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng môn Lập trình hướng đối tượng - Trường Đại học Kỹ thuật Công nghiệp TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP KHOA ĐIỆN TỬBÀI GIẢNG MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 1 CHƯƠNG 1 CÁC KHÁI NIỆM CƠ SỞ CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 1.1. Phương pháp tiếp cận của lập trình truyền thống 1.1.1 Lập trình tuyến tínhLập trình tuyến tính còn gọi là lập trình phi cấu trúc là phương pháp lập trình theo lốituần tự. Chương trình sẽ được thực hiện tuần tự từ đầu đến cuối, lệnh này kế tiếp lệnhkia cho đến khi kết thúc chương trình. Do đó lập trình tuyến tính giải quyết các bàitoán tương nhỏ, đối đơn giản ▪ Đặc điểm: - Chỉ gồm một chương trình chính - Gồm một dãy tuần tự các câu lệnh - Chương trình ngắn, ít hơn 100 dòng ▪ Ưu điểm: Do tính đơn giản, lập trình tuyến tính có ưu điểm là chương trình đơngiản, dễ hiểu. Lập trình tuyến tính được ứng dụng cho các chương trình đơn giản. ▪ Nhược điểm: - Không sử dụng lại được các đoạn mã - Không có khả năng kiểm soát phạm vi truy xuất dữ liệu - Mọi dữ liệu trong chương trình là toàn cục - Dữ liệu có thể bị sửa đổi ở bất cứ vị trí nào trong chương trình - Không đáp ứng được việc triển khai phần mềm Ngày nay, lập trình tuyến tính chỉ tồn tại trong phạm vi các modul nhỏ nhất củacác phương pháp lập trình khác. Ví dụ trong một chương trình con của lập trình cấutrúc, các lệnh cũng được thực hiện theo tuần tự từ đầu đến cuối chương trình con. 1.1.2 Lập trình cấu trúc Trong lập trình hướng cấu trúc, chương trình chính được chia nhỏ thành cácchương trình con và mỗi chương trình con thực hiện một công việc xác định. Chươngtrình chính sẽ gọi đến chương trình con theo một giải thuật, hoặc một cấu trúc đượcxác định trong chương trình chính. Các ngôn ngữ lập trình cấu trúc phổ biến là Pascal, C và C++. Riêng C++ ngoàiviệc có đặc trưng của lập trình cấu trúc do kế thừa từ C, còn có đặc trưng của lập trìnhhướng đối tượng. Cho nên C++ còn được gọi là ngôn ngữ lập trình nửa cấu trúc, nửahướng đối tượng. ▪ Đặc trưng Đặc trưng cơ bản nhất của lập trình cấu trúc thể hiện ở mối quan hệ: 2 Chương trình = Cấu trúc dữ liệu + Giải thuật Trong đó: Cấu trúc dữ liệu là cách tổ chức dữ liệu, cách mô tả bài toán dưới dạng ngônngữ lập trình Giải thuật là một quy trình để thực hiện một công việc xác định Trong chương trình, giải thuật có quan hệ phụ thuộc vào cấu trúc dữ liệu: - Một cấu trúc dữ liệu chỉ phù hợp với một số hạn chế các giải thuật. - Nếu thay đổi cấu trúc dữ liệu thì phải thay đổi giải thuật cho phù hợp. - Một giải thuật thường phải đi kèm với một cấu trúc dữ liệu nhất định. ▪ Tính chất - Mỗi chương trình con có thể được gọi thực hiện nhiều lần trong một chươngtrình chính. - Các chương trình con có thể được gọi đến để thực hiện theo một thứ tự bấtkì, tuỳ thuộc vào giải thuật trong chương trình chính mà không phụ thuộc vào thứ tựkhai báo của các chương trình con. - Các ngôn ngữ lập trình cấu trúc cung cấp một số cấu trúc lệnh điều khiểnchương trình. ▪ Ưu điểm - Chương trình sáng sủa, dễ hiểu, dễ theo dõi. - Tư duy giải thuật rõ ràng. ▪ Nhược điểm - Lập trình cấu trúc không hỗ trợ việc sử dụng lại mã nguồn: Giải thuật luônphụ thuộc chặt chẽ vào cấu trúc dữ liệu, do đó, khi thay đổi cấu trúc dữ liệu, phải thayđổi giải thuật, nghĩa là phải viết lại chương trình. - Không phù hợp với các phần mềm lớn: tư duy cấu trúc với các giải thuật chỉphù hợp với các bài toán nhỏ, nằm trong phạm vi một modul của chương trình. Vớidự án phần mềm lớn, lập trình cấu trúc tỏ ra không hiệu quả trong việc giải quyết mốiquan hệ vĩ mô giữa các modul của phần mềm. 1.1.2. Nhược điểm lập trình truyền thống Cách tiếp cận lập trình truyền thống là lập trình hướng thủ tục (LTHTT). Theocách tiếp cận này thì một hệ thống phần mềm được xem như là dãy các công việc cầnthực hiện như đọc dữ liệu, tính toán, xử lý, lập báo cáo và in ấn kết quả v.v... Mỗicông việc đó sẽ được thực hiện bởi một số hàm nhất định. Như vậy trọng tâm củacách tiếp cận này là các hàm chức năng. LTHTT sử dụng kỹ thuật phân rã hàm chứcnăng theo cách tiếp cận trên xuống (top-down) để tạo ra cấu trúc phân cấp. Các ngôn 3ngữ lập trình bậc cao như COBOL, FORTRAN, PASCAL, C, v.v..., là những ngônngữ lập trình hướng thủ tục. Những nhược điểm chính của LTHTT là: - Chương trình khó kiểm soát - Khó khăn trong việc bổ sung, nâng cấp chương trình - Khi thay đổi, bổ sung dữ liệu dùng chung thì phải thay đổi gần như tất cảthủ tục/hàm liên quan - Khả năng sử dụng lại các đoạn mã chưa nhiều - Không mô tả đầy đủ, trung thực hệ thống trong thực tế 1.1.3. Tiếp cận hướng đối tượng Trong thế giới thực, chung quanh chúng ta là những đối tượng, đó là các thực thểcó mối quan hệ với nhau. Ví dụ các phòng trong một công ty kinh doanh được xemnhư những đối tượng. Các phòng ở đây có thể là: phòng quản lý, phòng bán hàng,phòng kế toán, phòng tiếp thị,... Mỗi phòng ngoài những cán bộ đảm nhiệm nhữngcông việc cụ thể, còn có những dữ liệu riêng như thông tin về nhân viên, doanh sốbán hàng, hoặc các dữ liệu khác có liên quan đến bộ phận đó. Việc phân chia cácphòng chức năng trong công ty sẽ tạo điều kiện dễ dàng cho việc quản lý các hoạtđộng. Mỗi nhân viên trong phòng sẽ điều khiển và xử lý dữ liệu của phòng đó. Ví dụphòng kế toán phụ trách về lương bổng nhân viên trong công ty. Nếu bạn đang ở bộphận tiếp thị và cần tìm thông tin chi tiết về lương của đơn vị mình thì sẽ gởi yêu cầuvề phòng kế toán. Với cách làm này bạn được đảm bảo là chỉ có nhân viên của bộphận kế toán được quyền truy cập dữ liệu và cung cấp thông tin cho bạn. Điều nàycũng cho thấy rằng, không có người ...