Bài giảng Lập trình hướng đối tượng 1 - Chương 1: Tổng quan - Thái Kim Phụng
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng 1 - Chương 1: Tổng quan - Thái Kim Phụng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
bai_giang_lap_trinh_huong_doi_tuong_1_chuong_1_tong_quan_tha.ppt
Nội dung text: Bài giảng Lập trình hướng đối tượng 1 - Chương 1: Tổng quan - Thái Kim Phụng
- Trường ĐH Kinh Tế Tp.HCM Khoa Tin Học Quản Lý LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 1 CHƯƠNG 1: TỔNG QUAN
- Mục tiêu ❑ Trong chương này sinh viên sẽ được: ❑ Tìm hiểu các khái niệm cơ bản của lập trình hướng đối tượng ❑ Tìm hiểu các đặc điểm của lập trình hướng đối tượng ❑ Thiết kế theo hướng đối tượng
- Nội dung 1. Các khái niệm cơ bản 2. Các đặc điểm của OOP 3. Thiết kế theo hướng đối tượng
- Tại sao phải lập trình hướng đối tượng? ❑ Sự tiến hóa của các phương pháp lập trình: ➢ Lập trình không cấu trúc (Unstructured programming) ➢ Lập trình thủ tục (Procedural programming) ➢ Lập trình đơn thể (Modular programming) ➢ Lập trình hướng đối tượng (Object oriented programming) ➢
- Lập trình không cấu trúc ✓ Một dãy các lệnh đơn giản được viết trong chương trình chính (Main program). Program ✓ Các lệnh này cùng thao tác trên một dữ liệu (data) toàn Main Program cục. Data ✓ Nhược điểm: Chỉ thích hợp cho các chương trình nhỏ → Dẫn đến lập trình thủ tục
- Lập trình thủ tục ✓ Chương trình có cấu Program trúc hơn ✓ Kiểm tra lỗi dễ hơn Main Program ✓ Chương trình chính có nhiệm vụ truyền Data dữ liệu cho các thủ tục ✓ Nhóm các thủ tục theo các chức năng: Lập trình đơn thể Procedure1 Procedure2 Procedure3
- Lập trình đơn thể Main Program(Also a module) Data Module1 Module2 + + Data Data 1 Data Data2 Procedure1 Procedure2 Procedure3 Chương trình chính gọi phối hợp các thủ tục trong các module khác nhau và truyền dữ liệu như là các tham số
- Lập trình hướng đối tượng Dữ liệu và chức năng thao tác trên dữ liệu Chương trình Object được gom lại thành 1 không dựa trên một đối tượng chức năng mà Data1+Procedures1 dựa trên đối tượng Object2 Data + Procedures 2 2 Object3 Data3 + Procedures3 Object4 Data4 + Procedures4
- Lập trình hướng đối tượng ❑ Lập trình hướng đối tượng (Object Oriented Programming - OOP) là phương pháp lập trình lấy đối tượng làm nền tảng để xây dựng thuật giải, xây dựng chương trình. ❑ Khi viết chương trình theo phương pháp hướng đối tượng ta phải trả lời các câu hỏi: ✓ Chương trình liên quan tới những đối tượng nào? ✓ Mỗi đối tượng cần có những dữ liệu và thao tác nào? ✓ Các đối tượng quan hệ với nhau như thế nào trong chương trình?
- Lập trình hướng đối tượng Order Product Ship via
- Đối tượng ❑ Đối tượng (Object): Trong thế giới thực, khái niệm đối tượng được hiểu như là một thực thể: người, vật, . Mỗi đối tượng sẽ tồn tại trong một hệ thống và có ý nghĩa nhất định trong hệ thống. Đối tượng được đặc trưng bởi các thuộc tính, và các hoạt động (hành vi, thao tác, phương thức)
- Đối tượng ❑ Các thuộc tính ❑ Thành phần dữ liệu của một đối tượng ❑ Xác định các đặc trưng mô tả của một đối tượng →Ví dụ: con chó của bạn có màu nâu, ĐTDĐ của bạn thuộc hãng Nokia ❑ Các phương thức ❑ Thành phần xử lý của một đối tượng ❑ Xác định các hành vi của một đối tượng →Ví dụ: con chó đi, ĐTDĐ nhắn tin SMS
- Đối tượng Đối tượng = Dữ liệu + Các phương thức = + Hoặc: Đối tượng = Trạng thái + Hành vi = +
- Đối tượng UNIQUE OBJECT IDENTIFIER (OID) I am an object! ATTRIBUTES NAME MARK State DOB 14/02/1964 JOB LECTURER BEHAVIOUR Methods CHANGE JOB GET AGE
- Lớp ❑ Các đối tượng có các đặc tính tương tự nhau được gom chung lại thành lớp. ❑ Lớp là một khung mẫu (template, blueprint, prototype) để tạo đối tượng. ❑ Ví dụ: lớp “Mèo” xác định các thuộc tính và các phương thức của một con mèo, ❑ Nhưng lớp “Mèo” không phải là một đối tượng. ❑ Một đối tượng được tạo từ một lớp ❑ Là một minh họa của một lớp. ❑ Ví dụ: bạn là một minh họa của lớp “SinhViên”, con mèo của bạn là một minh họa của lớp “Mèo”
- Lớp và đối tượng ❑Sự khác biệt giữa một lớp và một đối tượng: ✓ Một lớp định nghĩa một thực thể, trong khi đó một đối tượng là một trường hợp của thực thể ấy. ✓ Đối tượng là một mô hình thực, trong khi lớp là một mô hình khái niệm định nghĩa tất cả các thuộc tính và các phương thức cần thiết của một đối tượng. ✓ Tất cả các đối tượng thuộc về cùng một lớp có cùng các thuộc tính và các phương thức.
- Lớp và đối tượng
- Lớp và đối tượng
- Lớp và đối tượng
- Lớp và đối tượng Object Class Cô gái Hồng Hoa Huệ Hương
- Các đặc điểm của OOP ❑Đặc điểm quan trọng của OOP: ▪ Tính trừu tượng (abstraction) ▪ Tính đóng gói (encapsulation) ▪ Tính đa hình (polymorphism) ▪ Tính kế thừa (inheritance)
- Các đặc điểm của OOP ❑Tính trừu tượng (abstraction) ▪ Là cách nhìn đơn giản hóa về một đối tượng mà trong đó chỉ bao gồm các đặc điểm được quan tâm và bỏ qua những chi tiết không cần thiết. ▪ Đây là khả năng của chương trình bỏ qua hoặc không chú ý đến một số khía cạnh của thông tin mà nó đang trực tiếp làm việc, nghĩa là nó có khả năng tập trung vào những cốt lõi cần thiết.
- Các đặc điểm của OOP Student Professor Course Offering (9:00 AM, Monday-Wednesday-Friday) Course (e.g. Algebra)
- Các đặc điểm của OOP
- Các đặc điểm của OOP
- Các đặc điểm của OOP ❑Tính đa hình (polymorphism) ▪ Là khả năng gửi một thông điệp chung tới nhiều đối tượng mà mỗi đối tượng lại có cách xử lý riêng theo ngữ cảnh của nó. ▪ Ví dụ: o Định nghĩa 2 đối tượng “hinh_vuong” và “hinh_tron” có một phương thức chung là “ve” o Khi gọi phương thức này thì nếu đối tượng là “hinh_vuong” nó sẽ vẽ theo cách khác với khi đối tượng là “hinh_tron”
- Các đặc điểm của OOP
- Các đặc điểm của OOP ❑Tính đa hình (polymorphism) ▪ Trong các ngôn ngữ lập trình OOP, tính đa hình thể hiện qua khả năng cho phép mô tả những phương thức có tên giống nhau trong các lớp khác nhau. ▪ Đặc điểm này giúp người lập trình không phải viết những cấu trúc điều khiển rườm rà trong chương trình, các khả năng khác nhau của thông điệp chỉ thực sự đòi hỏi khi chương trình thực hiện.
- Các đặc điểm của OOP
- Các đặc điểm của OOP ❑Tính đóng gói (encapsulation) ▪ Tính chất này không cho phép người sử dụng các đối tượng thay đổi trạng thái nội tại của một đối tượng. ▪ Chỉ có các phương thức nội tại của đối tượng cho phép thay đổi trạng thái của nó. ▪ Việc cho phép môi trường bên ngoài tác động lên các dữ liệu nội tại của một đối tượng theo cách nào là hoàn toàn tùy thuộc vào người viết mã. ▪ Đây là tính chất đảm bảo sự toàn vẹn của đối tượng.
- Các đặc điểm của OOP OBJECT METHOD GET AGE GET AGE NAME: MARK DOB: 14/02/64 JOB: LECTURER CHANGE JOB METHOD CHANGE JOB
- Các đặc điểm của OOP ❑Tính kế thừa (inheritance) ▪ Đặc tính này cho phép một đối tượng có thể có sẵn các đặc tính mà đối tượng khác đã có thông qua kế thừa. ▪ Điều này cho phép các đối tượng chia sẻ hay mở rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại.
- Các đặc điểm của OOP
- Các đặc điểm của OOP ❑Tính kế thừa (inheritance) ▪ Kế thừa hình thành nên phân cấp các lớp ▪ Lợi ích của kế thừa: o Chia sẻ các thuộc tính và phương thức (tránh viết lại code) o Mô hình hóa sự tổng quát hóa và chuyên biệt hóa trong thế giới thực o Viết các thành phần phần mềm chung, tổng quát (lớp cha/ lớp cơ sở), sau đó mở rộng/ dẫn xuất ra các lớp con/ dẫn xuất cần thiết
- Các đặc điểm của OOP
- Thiết kế theo hướng đối tượng ❑ Lập trình hướng đối tượng là quy trình tạo một chương trình dựa theo một thiết kế hướng đối tượng. ❑ Phương pháp này tiến hành tiến trình phân tích, thiết kế chương trình thông qua việc xây dựng các đối tượng có sự tương hợp với các đối tuợng thực tế. ❑ Điều này làm cho việc sửa đổi dễ dàng hơn khi cần thay đổi chương trình.
- Vì sao chọn C#?
- Vì sao chọn C#? ❑ C# được coi là một ngôn ngữ hướng đối tượng vì nó cung cấp các tiện ích đặc biệt cho việc tổ chức chương trình và dữ liệu theo mô hình hướng đối tượng.



