Bài giảng Chương 2: Giới thiệu về lập trình hướng đối tượng OOP

25 25 0
Bài giảng Chương 2: Giới thiệu về lập trình hướng đối tượng OOP

Đ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

Bài giảng Chương 2: Giới thiệu về lập trình hướng đối tượng OOP sẽ giới thiệu tới các bạn tổng quan về các kỹ thuật lập trình: Lập trình cổ điển, lập trình cấu trúc, lập trình hướng đối tượng; một số khái niệm cơ bản về lập trình hướng đối tượng.

Chương 2: GiỚI THIỆU VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG OOP NỘI DUNG I.Giới thiệu II.Tổng quan kỹ thuật lập trình Lập trình cổ điển Lập trình cấu trúc Lập trình hướng đối tượng III Một số khái niệm lập trình hướng đối tượng I GiỚI THIỆU • Lập trình cấu trúc phương pháp tổ chức, phân chia chương trình thành chương trình (hàm, thủ tục) Mỗi hàm có liệu riêng, thực cơng việc rời rạc Thông qua ngôn ngữ Foxpro, Pascal, C đa số người làm tin học quen biết với phương pháp lập trình • Lập trình hướng đối tượng dựa việc tổ chức chương trình thành lớp Khác với hàm thủ tục, lớp đơn vị bao gồm liệu phương thức xử lý Vì lớp mơ tả thực thể cách chân thực, đầy đủ thành phần liệu yêu cầu quản lý Tư tưởng lập trình hướng đối tượng áp dụng ngôn ngữ Microsoft Access, Visual Basic, C++, Visual C, C#, II TỔNG QUAN VỀ CÁC KỸ THUẬT LẬP TRÌNH Lập trình cổ điển: a Lập trình tuyến tính Máy tính lập trình mã nhị phân, sử dụng cơng tắc khí để nạp chương trình Cùng với phát triển máy tính, ngơn ngữ lập trình cấp cao đời đưa vào sử dụng Ngôn ngữ lập trình tuyến tính thiết kế làm cơng việc đơn giản tính tốn, chương trình ngắn • Giải toán tương đối nhỏ, đơn giản • Sử dụng biến tổng thể, lạm dụng lệnh GOTO • Các ngơn ngữ Assemly, Fortran, Basic Lập trình tuyến tính Đặc điểm: • Chỉ gồm chương trình • Chỉ dùng hai cấu trúc lệnh cấu trúc lệnh (sequential) nhảy không điều kiện (goto) • Khơng sử dụng lại đoạn mã • Khơng có khả kiểm sốt phạm vi truy xuất liệu • Hệ thống thư viện nghèo nàn lập trình trở nên khó khăn • Mọi liệu chương trình tồn cục • Dữ liệu bị sửa đổi vị trí chương trình b Lập trình cấu trúc / lập trình thủ tục (structured/procedural programming) • Ra đời vào năm 70 • Các ngơn ngữ như: Pascal, C, Foxpro… • Người lập trình phân tích nhiệm vụ lớn thành nhiều cơng việc nhỏ hơn, sau chi tiết hơn, cụ thể Tức chương trình chia nhỏ thành chương trình Trong Pascal chương trình kiểu thủ tục (Procedure) hàm (Function), C có loại hàm • Lập trình theo ngun lý từ xuống • Các chương trình con: - Độc lập với có liệu riêng Chúng ghép nối với cho hệ thống chương trình -Trao đổi qua tham số biến toàn cục Lập trình cấu trúc  Ưu điểm: • Chương trình cục hóa, dễ hiểu, dễ bảo trì • Dễ dàng tạo thư viện phần mềm Nhược điểm: • • • Dữ liệu code xử lý tách rời Người lập trình phải biết cấu trúc liệu Khi thay đổi cấu trúc liệu code phải thay đổi theo • Khó đảm bảo tính đắn liệu • Khơng tự động khởi tạo hay giải phóng liệu động Lập trình hướng đối tượng (Object Oriented Programming) • Là phương pháp lập trình: – Lấy đối tượng (Object) làm tảng để xây dựng giải thuật, xây dựng chương trình Đối tượng đóng vai trị trung tâm lập trình, nên gọi nguyên lý lập trình từ lên – Đối tượng hiểu thực thể (instance), đối tượng đặc trưng số thao tác thơng tin – Chương trình chia thành lớp đối tượng – Dữ liệu đóng gói, che dấu bảo vệ – Đối tượng làm việc qua thơng báo Ưu điểm OOP • Ưu điểm chính: – Loại bỏ đoạn mã lặp lại, viết code hiệu hơn, dễ bổ sung dễ mở rộng – Dễ học lập trình thủ tục – Tạo chương trình an tồn, bảo mật – Rút ngắn thời gian xây dựng hệ thống – Chương trình thiết kế theo qui trình, … Một số ngơn ngữ OOP • Hầu hết ngơn ngữ lập trình hỗ trợ OOP, chia thành loại: – Ngôn ngữ hỗ trợ hướng đối tượng: • Object C, Pascal, C++, Delphi… – Ngơn ngữ hướng đối tượng: • SmallTalk, JAVA • Một số ngôn ngữ OOP nay: – Visual C++ – VB.NET, C# Ứng dụng OOP • Dùng để phát triển phần mềm nhiều lĩnh vực khác nhau: – Ví dụ: hệ điều hành Windows • Lĩnh vực chính: – Hệ thống thời gian thực – Cơ sở liệu hướng đối tượng – Hệ siêu văn bản, đa phương tiện – Trí tuệ nhân tạo – Lập trình song song, mạng nơron … 10 III Một số khái niệm lập trình hướng đối tượng - Hệ thống hướng đối tượng - Lớp đối tượng - Thuộc tính Phương thức - Lớp & Lớp - Lớp sở trừu tượng - Truyền thơng điệp - Sự trừu tượng hố - Sự đóng gói che dấu thơng tin - Thừa kế - Đa hình 11 Hệ thống hướng đối tượng Là hệ thống có đặc điểm sau:  Gồm tập hợp đối tượng  Sự đóng gói thành phần: – Dữ liệu (thuộc tính đối tượng) – Các thao tác liệu  Các đối tượng kế thừa đặc tính đối tượng khác  Các đối tượng tồn hoạt động phân tán song song  Hoạt động thông qua tương tác đối tượng nhờ chế truyền thơng điệp: • Thơng báo 12 • Gửi nhận thông báo Lớp (class) đối tượng (Object) • Lớp đối tượng khn mẫu để sinh đối tượng • Đối tượng - Là thể (instance) lớp - Là khái niệm trừu tượng phản ánh thực thể giới thực - Có thể thực thể vật lý - Có thể khái niệm trừu tượng - Chính thực thể hệ thống hướng đối tượng • Đối tượng có: Định danh (tên), thuộc tính (dữ liệu), hành vi (phương thức) • Sự khác biệt lớp đối tượng giống khác biệt tập hợp phần tử tập hợp 13 Lớp (Class) Lớp (SubClass)  Lớp: tập hợp đối tượng có thuộc tính hành vi • Là thiết kế mẫu mô tả cấu trúc liệu gồm: - Các thành phần liệu - Các phương thức • Lớp sử dụng kiểu liệu người dùng định nghĩa • Những đối tượng lớp có định nghĩa thao tác cấu trúc liệu chúng  Lớp con: – Là lớp thơng thường – Có thêm tính chất kế thừa đặc tính lớp khác14 Thuộc tính lớp phương thức lớp  Thuộc tính lớp (class attribute) hạng mục liệu liên kết với lớp cụ thể mà không liên kết với thể lớp Nó định nghĩa bên định nghĩa lớp chia sẻ tất thể lớp  Phương thức lớp (class method) phương thức triệu gọi mà không tham khảo tới đối tượng Tất phương thức lớp ảnh hưởng đến toàn lớp không ảnh hưởng đến lớp riêng rẽ 15 Thuộc tính phương thức • Thuộc tính (attribute) liệu trình bày đặc điểm đối tượng • Thuộc tính đối tượng bao gồm: – Hằng, biến – Tham số nội • Thuộc tính xác định kiểu, gồm: – Kiểu cổ điển – Kiểu người dùng định nghĩa 16 Thuộc tính phương thức Phương thức (method) có liên quan tới thứ mà đối tượng làm Một phương thức đáp ứng chức tác động lên liệu đối tượng (thuộc tính) • Phương thức là: – Các hàm nội đối tượng – Có kiểu trả – Tên gọi khác hàm thành viên • Một đối tượng sau khai báo cấp phát vùng nhớ riêng chứa thuộc tính, khơng có vùng nhớ riêng cho phương thức 17 Lớp sở trừu tượng • • • • • • Là lớp mà khơng thể trở thành lớp thực tế Là lớp dùng sở cho lớp khác Được thiết kế nhằm tạo lớp có đặc tính tổng qt Bản thân chưa có ý nghĩa nên chưa thể viết mã cho đối tượng Khơng có đối tượng lớp trừu tượng tạo Ví dụ: – Lớp hình phẳng – Lớp động vật 18 – Lớp nhân viên (nếu có nhiều loại nhân viên) Thơng điệp truyền thông điệp  Thông điệp (message): lời yêu cầu hoạt động Gồm có: - Đối tượng nhận thông điệp -Tên phương thức thực - Các tham số mà phương thức cần  Truyền thông điệp: đối tượng triệu gọi hay nhiều phương thức đối tượng khác để yêu cầu thông tin -Truyền thông điệp ta hiểu sử dụng đối tượng để gọi phương thức đối tượng  Hệ thống yêu cầu đối tượng thực phương thức sau: -Gửi thông báo tham số cho đối tượng -Kiểm tra tính hợp lệ thơng báo 19 -Gọi thực hàm tương ứng với phương thức Sự trừu tượng hố • Khái niệm: – Là khả bỏ qua hay không để ý tới thành phần khơng quan trọng • Các loại trừu tượng hố: – Trừu tượng hố liệu: khơng quan tâm chi tiết không quan trọng bên – Trừu tượng hố chức năng: khơng quan tâm làm để thực cơng việc • Tóm lại: – Chỉ quan tâm tới đặc điểm quan trọng – Bỏ qua chi tiết khơng liên quan 20 Sự đóng gói (Encapsulation) che dấu thơng tin • Khái niệm: – Là chế ràng buộc liệu thao tác liệu thành thể thống nhất, thuận tiện cho việc sử dụng lại Sự đóng gói khơng gom chung liệu chương trình thành khối mà phải có đồng liệu thao tác lên • Đóng gói gồm: – Bao gói: người dùng giao tiếp với hệ thống qua giao diện – Che dấu: ngăn chặn thao tác khơng phép từ bên ngồi Che dấu người lập trình khác có khả thay đổi liệu bên lớp • Ưu điểm: Quản lý thay đổi, bảo vệ liệu 21 Thừa kế (inheritance)  Khái niệm: Hệ thống hướng đối tượng cho phép lớp định nghĩa thừa kế từ lớp khác Ví dụ: lớp xe đạp leo núi lớp xe đạp đua lớp (subclass) lớp xe đạp  Thừa kế (hay kế thừa) nghĩa phương thức thuộc tính định nghĩa lớp thừa kế sử dụng lại lớp khác 22 Thừa kế – Khả cho phép xây dựng lớp thừa hưởng thuộc tính lớp có (lớp sở) Do lớp khơng phải xây dựng lại từ đầu – Lớp nhận bổ sung thành phần khác lớp sở – Những lớp thừa kế hành vi liệu lớp sở gọi lớp dẫn xuất Lớp dẫn xuất lớp sở lớp dẫn xuất khác • Các loại kế thừa: – Đơn kế thừa – Đa kế thừa 23 Đa hình • Khái niệm: – Đa hình “nhiều hình thức”, hành động tên thực khác đối tượng/các lớp khác – Khả đưa phương thức có tên lớp • Thực bởi: – Định nghĩa lại – Nạp chồng • Cơ chế dựa kết gán: – Kết gán sớm 24 – Kết gán muộn 10 Các bước thiết kế chương trình OOP • Các bước chính: – Xác định dạng đối tượng (lớp) – Tìm liệu dùng chung, chia xẻ – Xác định lớp sở dựa vào liệu dùng chung – Xây dựng lớp dẫn xuất từ lớp sở 25 ... tưởng lập trình hướng đối tượng áp dụng ngơn ngữ Microsoft Access, Visual Basic, C++, Visual C, C#, II TỔNG QUAN VỀ CÁC KỸ THUẬT LẬP TRÌNH Lập trình cổ điển: a Lập trình tuyến tính Máy tính lập trình. .. liệu hướng đối tượng – Hệ siêu văn bản, đa phương tiện – Trí tuệ nhân tạo – Lập trình song song, mạng nơron … 10 III Một số khái niệm lập trình hướng đối tượng - Hệ thống hướng đối tượng - Lớp đối. .. phóng liệu động Lập trình hướng đối tượng (Object Oriented Programming) • Là phương pháp lập trình: – Lấy đối tượng (Object) làm tảng để xây dựng giải thuật, xây dựng chương trình Đối tượng đóng vai

Ngày đăng: 11/05/2021, 03:45