Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trần Công Án

57 1 0
Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trần Công Án

Đ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

Trong lĩnh vực Công Nghệ Thông Tin nói riêng, yêu cầu quan trọng nhất của người học đó chính là thực hành. Có thực hành thì người học mới có thể tự mình lĩnh hội và hiểu biết sâu sắc với lý thuyết. Với ngành mạng máy tính, nhu cầu thực hành được đặt lên hàng đầu. Tuy nhiên, trong điều kiện còn thiếu thốn về trang bị như hiện nay, người học đặc biệt là sinh viên ít có điều kiện thực hành. Đặc biệt là với các thiết bị đắt tiền như Router, Switch chuyên dụng

Object-oriented programming is a method of implementation in which programs are organized as cooperative collections of objects, each of which represents an instance of some class, and whose classes are all members of a hierarchy of classes united via inheritance relationships (Grady Booch et al) Chương 1 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CT176 – LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Nội dung Lịch sử Ngơn ngữ lập trình Lập trình hướng đối tượng (OOP) Các khái niệm quan trọng Các đặc điểm OOP CT176 – Lập trình Hướng đối tượng ² Mở đầu Mở đầu • Lập trình Hướng đối tượng (Object-Oriented Programming) Cổ điển Hướng thủ tục Hướng đối tượng CT176 – Lập trình Hướng đối tượng ² Mở đầu Máy tính & Ngơn ngữ lập trình • Máy tính: Trung gian diễn đạt tư duy con người ⇒ Kém giống máy và giống nhiều hơn tư duy của con người • Ngơn ngữ lập trình: Trừu tượng hóa (abstraction) SORT(StudentList); ADD.L d1, d2 WINDOW.SHOW(); MOV AX, BX CT176 – Lập trình Hướng đối tượng 0110 1010 0010 … ² Mở đầu Trừu tượng hóa (Abstraction) CT176 – Lập trình Hướng đối tượng ² Mở đầu Trừu tượng hóa (Abstraction) CT176 – Lập trình Hướng đối tượng ² Mở đầu Trừu tượng hóa (Abstraction) CT176 – Lập trình Hướng đối tượng ² Lịch sử ngôn ng lp trỡnh Ngụn ng mỏy & hp ng ã Ngụn ng mỏy: Đ Đ Đ L cỏc lnh/ch th ca cỏc b x lý ca mỏy tớnh L dóy cỏc giỏ tr nh phõn 0, 1 Khụng gn vi ngụn ng ca con ngi khú hiu, khú nh! ã Hp ng: Đ Đ Tru tng húa cho ngụn ng mỏy nn tng Cỏc lnh mỏy di dng cỏc dóy s 0, 1 c ký hiu bng các chỉ thị gần với ngơn ngữ con người Trong giai đoạn này, máy tính được sử dụng chủ yếu để tính tốn CT176 – Lập trình Hướng đối tượng ² Lịch sử ngôn ngữ lp trỡnh Ngụn ng lp trỡnh cp cao ã Cũn c gi l ngụn ng ra lnh: Đ Đ Tru tng húa cho hp ng Vn ũi hi ngi lp trỡnh suy ngh di dng cu trỳc mỏy tớnh (do cha cụng c khỏi nim biu din th gii thật” một cách gần gũi) ⇒ Người lập trình phải thiết lập mối quan hệ giữa mơ hình máy (trong khơng gian giải quyết vấn đề - máy tính) và mơ hình của vấn đề (khơng gian của vấn đề - thế giới thật) Trong giai đoạn này, máy tính bắt đầu được sử dụng để giải quyết nhiều vấn đề trong thế giới thật CT176 – Lập trình Hướng đối tượng ² Lịch sử ngơn ngữ lập trình Ngơn ngữ lập trình HĐT • Lập trình Hướng đối tượng: § § § Cung cấp các cơng cụ (khái niệm) cho phép người lập trình mơ hình hóa thế giới thật trong khơng gian giải quyết vấn đề một cách dễ dàng Mơ hình mà Lập trình hướng đối tượng chọn lựa là biểu diễn vấn đề trong khơng gian giải pháp như các “sự vật” hay “đối tượng” (object) Đây là một sự trừu tượng hóa mạnh mẽ và linh họat vì bản chất của thế giới là sự tương tác giữa các “sự vật” ⇒ Nó cho phép mơ tả vấn đề dưới dạng vấn đề, thay vì dưới dạng máy tính (nơi giải pháp sẽ chạy) CT176 – Lập trình Hướng đối tượng 10 v Quiz Quiz A big advantage of OOP over traditional programming is _ a) b) c) d) The objects are all declared Public The ability to reuse classes The convenience of giving all objects in a project the same name None of the above CT176 – Lập trình Hướng đối tượng 43 v Quiz Quiz Real-world objects contain _ and _ A software object's state is stored in _ A software object's behavior is exposed through _ Hiding internal data from the outside world, and accessing it only through publicly exposed methods is known as data _ A blueprint for a software object is called a _ CT176 – Lập trình Hướng đối tượng 44 v Quiz Quiz 12 13 14 15 Tính bao gói thể hiện ở các đặc điểm nào? Truyền thơng điệp có nghĩa là gì? Một lớp thừa kế lớp khác được gọi là? Một phương thức có thể truy xuất các thành phần có thuộc tính truy xuất gì trong cùng lớp? 16 Muốn sử dụng tính đa hình, cần kết hợp các tính chất nào của lập trình hướng đối tượng? 17 Định nghĩa nhiều phương thức trùng tên trong cùng một lớp được gọi là gì? CT176 – Lập trình Hướng đối tượng 45 ² Bài tập Assignment Hãy cho biết trong trò chơi trên, bao gồm những đối tượng/sự vật nào? Mỗi đối tượng có thể thực hiện các thao tác/hành động nào? Liệt kê thuộc tính của từng đối tượng CT176 – Lập trình Hướng đối tượng 46 CT176 – Lập trình Hướng đối tượng 47 ² Phụ lục Phụ lục – UML • UML: Unified Modeling Language • Là một ngơn ngữ dùng để mơ hình hóa các hệ thống thơng tin theo Hướng đối tượng • Bao gồm một hệ thống các ký hiệu (symbol), sơ đồ (diagram) • Được sử dụng trong nhiều giai đoạn của qui trình phát triển phần mềm • Một số cơng cụ: Rational Rose, Visio, StartUML, ArgoUML, … CT176 – Lập trình Hướng đối tượng 48 ² Phụ lục Phụ lục – UML • UML bao gồm 9 loại sơ đồ: Use case disgram: Sơ đồ use case Class diagram: Sơ đồ lớp Object diagram: Sơ đồ đối tượng Sequence diagram: Sơ đồ trình tự State diagram: Sơ đồ trạng thái Collaboration diagram: Sơ đồ cộng tác Component disgram: Sơ đồ thành phần Deployment diagram: Sơ đồ triển khai Activity diagram: Sơ đồ hoạt động CT176 – Lập trình Hướng đối tượng 49 ² Phụ lục Phụ lục – UML • Class diagram (sơ đồ lớp): Mụ t cu trỳc ca h thng theo hng i tng Đ Cu trỳc ca mt h thng c xõy dng t cỏc lp v mi quan h gia chỳng Đ ã Ký hiu (notation): Lp Đ Giao din § Quan hệ: § o o o Kết hợp (Association), tập hợp (Aggregation) và tổng hợp (Composition) Hiện thực hóa (Realization) Thừa kế/Tổng quát hóa (Generalization) CT176 – Lập trình Hướng đối tượng 50 ² Phụ lục Phụ lục – UML • Lớp: CT176 – Lập trình Hướng đối tượng 51 ² Phụ lục Phụ lục – UML • Giao diện và quan hệ Realization: Quan hệ realization là quan hệ giữa giao diện và lớp cài đặt nó Quan hệ Realization CT176 – Lập trình Hướng đối tượng 52 ² Phụ lục Phụ lục – UML • Quan hệ kết hợp (Association): Mô tả mối liên hệ ngữ nghĩa giữa các lớp Tên Association Lớp Quan hệ Association Tên role CT176 – Lập trình Hướng đối tượng 53 ² Phụ lục Phụ lục – UML • Quan hệ kết hợp nhiều chiều (n-ary) • Lớp kết hợp (association class): Được xem là thuộc tính của một quan hệ kết hợp Lớp kết hợp CT176 – Lập trình Hướng đối tượng 54 ² Phụ lục Phụ lục – UML • Quan hệ tập hợp (Aggregation): Là một dạng đặc biệt của quan hệ kết hợp, mơ tả mối quan hệ tồn thể-bộ phận giữa một thực thể và các bộ phận của một thực thể Tồn thể Bộ phận CT176 – Lập trình Hướng đối tượng 55 ² Phụ lục Phụ lục – UML • Quan hệ tổng hợp (Composition): Là một dạng đặc biệt của quan hệ tập hợp, có tính sở hữu cao Trong đó, các bộ phận của một thực thể khơng thể sống lâu hơn thực thể Chú ý: Nếu khơng có sinh viên khơng có schedule Hoặc, khơng tồn sách (book) khơng có chương sách (chapter) CT176 – Lập trình Hướng đối tượng 56 ² Phụ lục Phụ lục – UML • Quan hệ thừa kế (Inheritance): Lớp cha Lớp CT176 – Lập trình Hướng đối tượng 57

Ngày đăng: 02/07/2023, 18:56

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan