Bài giảng Chương 7: Lập trình hướng đối tượng (OOP)
lượt xem 4
download
Bài giảng Chương 7: Lập trình hướng đối tượng (OOP) với mục tiêu giới thiệu các kiến thức cơ bản về lập trình hướng đối (HĐT) tượng; các đặc điểm, đặc trưng của lập trình hướng đối tượng.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Chương 7: Lập trình hướng đối tượng (OOP)
- CHƯƠNG 7: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (OOP) Mục tiêu Giới thiệu các kiến thức cơ bản về Lập trình hướng đối (HĐT) tượng; các đặc điểm, đặc trưng của lập trình HĐT . Nội dung Lập trình có cấu trúc và Lập trình HĐT Một số khái niệm cơ bản Đặc điểm của Lập trình HĐT Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT 1/24
- 7.1 Lập trình có cấu trúc và Lập trình HĐT Phương pháp Lập trình có cấu trúc: Lập trình cấu trúc là tổ chức chương trình thành các chương trình con (được gọi là hàm trong C++). Một chương trình cấu trúc gồm các cấu trúc dữ liệu (như biến, mảng, bản ghi) và các hàm. Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT 2/24
- 7.1 Lập trình có cấu trúc và Lập trình HĐT Phương pháp Lập trình HĐT (OOP) Lập trình hướng đối tượng là lập trình có cấu trúc + trừu tượng hóa dữ liệu. Có nghĩa là chương trình tổ chức dưới dạng cấu trúc. Tuy nhiên, việc thiết kế chương trình sẽ xoay quanh dữ liệu, lấy dữ liệu làm trung tâm. Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT 3/24
- 7.1 Lập trình có cấu trúc và Lập trình HĐT Phương pháp Lập trình HĐT (OOP) Với lập trình cấu trúc thuần túy, trong đó dữ liệu được khai báo riêng rẽ, tách rời với thao tác xử lý. Do đó, việc xử lý dữ liệu thường không thống nhất khi chương trình được xây dựng từ nhiều người dùng khác nhau. => Lập trình HĐT là phương pháp phân tích và thiết kế phần mềm dựa trên kiến trúc lớp và đối tượng. Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT 4/24
- 7.1 Lập trình có cấu trúc và Lập trình HĐT Phương pháp Lập trình HĐT (OOP) Quá trình phát triển của các phương pháp lập trình Lập trình tuyến tính Lập trình có cấu trúc Sự trừu tượng hóa dữ liệu Lập trình hướng đối tượng Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT 5/24
- 7.1 Lập trình có cấu trúc và Lập trình HĐT So sánh 2 phương pháp lập trình: Lập trình cấu trúc Hướng đối tượng Hàm Đối tượng Các thao tác Hàm Dữ liệu Đối Đối tượng Hàm tượng Các thao tác Các thao tác Dữ liệu Dữ liệu Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT 6/24
- 7.2 Một số khái niệm cơ bản Trừu tượng hóa Đối tượng Thuộc tính và phương thức Lớp Truyền thông điệp Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT 7/24
- Sự trừu tượng hóa Trừu tượng hóa là kỹ thuật chỉ trình bày các đặc điểm cần thiết của vấn đề mà không trình bày những chi tiết cụ thể hay những lời giải thích phức tạp của vấn đề đó. Ví dụ: Con người có các đặc tính sau: Tên Tuổi Địa chỉ Chiều cao Màu tóc … Những chi tiết nào là quan trọng khi phát triển Ứng dụng khách hàng mua sắm? Điều tra tội phạm? Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT 8/24
- Sự trừu tượng hóa Trừu trượng hóa được phân làm 2 loại: Trừu tượng hóa dữ liệu (Data Abstraction): là tiến trình xác định và nhóm các thuộc tính và các hành động liên quan đến các thực thể đặc thù trong ứng dụng đang phát triển Trừu tượng hóa chương trình (Program Abstraction): là một sự trừu tượng hóa dữ liệu mà làm cho các dịch vụ thay đổi theo dữ liệu Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT 9/24
- Đối tượng Đối tượng (Object) là một thực thể phần mềm bao bọc các thuộc tính và các phương thức liên quan Các đối tượng là chìa khóa để hiểu được kỹ thuật hướng đối tượng Đối tượng thế giới thực là thực thể cụ thể có cả trạng thái (states) và hành động (behaviour) Ví dụ: Đối tượng con chó có các trạng thái: tên, màu, giống, vui sướng … và các hành động: ăn, ngủ, sủa, vẫy tai, chạy, bệnh… => xác định các trạng thái và hành động của đối tượng xe đạp? Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT10/24
- Đối tượng Đối tượng phần mềm có thể dùng để biểu diễn đối tượng thế giới thực nhưng trạng thái được gọi là thuộc tính attribute (các biến) và hành động được gọi là phương thức method (các hàm) trong JAVA. Còn trong C++ thì gọi là dữ liệu thành viên và hàm thành viên Ví dụ: Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT11/24
- Đối tượng Ví dụ: Một đối tượng phần mềm mô phỏng cho hình chữ nhật có các thuộc tính để xác định trạng thái của hình chữ nhật như chiều dài 10cm và chiều rộng là 6cm. Và có các phương thức: tính chu vi, diện tích Trong lập trình OOP thì một đối tượng cụ thể được gọi là một thể hiện (instance) Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT12/24
- Thuộc tính và Phương thức Thuộc tính (attribute) là dữ liệu trình bày các đặc điểm về một đối tượng Mọi đối tượng của một lớp phải có cùng các thuộc tính nhưng giá trị của các thuộc tính thì có thể khác nhau Một thuộc tính của đối tượng có thể nhận các giá trị khác nhau tại các thời điểm khác nhau Ví dụ: đối tượng hình chữ nhật có các thuộc tính chiều dài, chiều rộng có thể nhận các giá trị khác nhau. Và tại mỗi thời điểm khác nhau thì giá trị chiều dài hoặc chiều rộng cũng khác nhau. Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT13/24
- Thuộc tính và Phương thức Phương thức (method) là cách đáp ứng chức năng tác động lên dữ liệu của đối tượng Các phương thức xác định cách thức hoạt động của một đối tượng và được thực thi khi đối tượng cụ thể được tạo ra Ví dụ: các hoạt động chung của một lớp hình chữ nhật là tính chu vi và diện tích. Nhưng chỉ khi một đối tượng cụ thể thuộc lớp hình chữ nhật được tạo ra thì các phương thức đó mới được thực thi. Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT14/24
- Lớp Lớp (class) là một thiết kế hay một mẫu ban đầu định nghĩa các thuộc tính và các phương thức chung cho tất cả các đối tượng của cùng một loại nào đó. Một đối tượng là một thể hiện cụ thể của một lớp Ví dụ: Trong lớp hình chữ nhật có nhiều đối tượng hình chữ nhật với các giá trị thuộc tính khác nhau. Trong trường hợp một thuộc tính hay phương thức nào đó của lớp là giống nhau ở tất cả các đối tượng thì được gọi là thuộc tính lớp và phương thức lớp Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT15/24
- Lớp Thuộc tính lớp (class attribute) là một hạng mục dữ liệu liên kết với một lớp cụ thể mà không liên kết với các thể hiện của lớp. Nó được định nghĩa bên trong định nghĩa lớp và được chi sẽ bởi các thể hiện lớp Phương thức lớp (class method) là một phương thức được triệu gọi mà không tham khảo tới bất kỳ một đối tượng nào. Tất cả các phương thức lớp ảnh hưởng đến toàn bộ lớp chứ không ảnh hưởng đến một lớp riêng rẽ nào. Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT16/24
- Truyền thông điệp Một chương trình hay ứng dụng lớn thường chứa nhiều đối tượng khác nhau. Và chúng tương tác với nhau bằng cách gửi các thông điệp. Ví dụ: Đối tượng học sinh muốn đối tượng hình chữ nhật thực hiện phương thức tính chu vi, diện tích thì đối tượng học sinh cần gửi một thông điệp tới đối tượng hình chữ nhật. Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT17/24
- Truyền thông điệp Thông điệp (message) là một lời yêu cầu một hoạt động Một thông điệp gồm có: Đối tượng nhận thông điệp Tên của phương thức thực hiện Các tham số mà phương thức cần Một thông điệp được truyền khi một đối tượng triệu gọi một hay nhiều phương thức của đối tượng khác để yêu cầu thông tin Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT18/24
- 7.3 Đặc điểm của lập trình HĐT Tính đóng gói Tính thừa kế Tính đa hình Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT19/24
- Tính đóng gói (Encapsulation) Trong OOP thì các thuộc tính là trung tâm, là hạt nhân của đối tượng Các phương thức bao quanh và che giấu đi hạt nhân của các đối tượng từ các đối tượng khác trong chương trình. Việc này được gọi là sự đóng gói Đóng gói là tiến trình che giấu việc thực thi chi tiết một đối tượng; là khái niệm trung tâm của phương pháp lập trình hướng đối tượng, trong đó dữ liệu và các thao tác xử lý nó sẽ được qui định trước và “đóng” thành một “gói” thống nhất, riêng biệt với các dữ liệu khác tạo thành kiểu dữ liệu với tên gọi là lớp. Ngôn ngữ lập trình C++ Chương 7: Lập trình có cấu trúc và Lập trình HĐT20/24
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở lập trình - Chương 7: Xâu ký tự
21 p | 213 | 29
-
Bài giảng Nhập môn lập trình - Chương 7: Mảng một chiều
49 p | 145 | 21
-
Bài giảng Nhập môn lập trình C: Chương 7 - Trần Thị Kim Chi
55 p | 92 | 11
-
Bài giảng Phương pháp lập trình: Chương 7 - GV. Từ Thị Xuân Hiền
18 p | 117 | 11
-
Bài giảng Ngôn ngữ lập trình C - Chương 7: Cấu trúc
21 p | 80 | 5
-
Bài giảng Kỹ thuật lập trình - Chương 7.2: Thư viện STL (Standard Template Library)(Trường Đại học Bách khoa Hà Nội)
36 p | 16 | 5
-
Bài giảng Nhập môn lập trình: Chương 7 - ThS. Cáp Phạm Đình Thăng
42 p | 60 | 5
-
Bài giảng Nhập môn lập trình: Chương 7 - Trần Minh Thái
8 p | 59 | 5
-
Bài giảng Kỹ thuật lập trình - Chương 7.1: Cấu trúc dữ liệu (Trường Đại học Bách khoa Hà Nội)
118 p | 15 | 4
-
Bài giảng Kỹ thuật lập trình (Programming technique): Chương 7 - Vũ Đức Vượng
50 p | 16 | 4
-
Bài giảng Kỹ thuật lập trình: Bài 7 - ThS. Trịnh Thành Trung
89 p | 38 | 4
-
Bài giảng Kỹ thuật lập trình: Bài 7 - ThS. Nguyễn Thành Trung
89 p | 34 | 4
-
Bài giảng Phương pháp lập trình: Chương 7
16 p | 71 | 4
-
Bài giảng Kỹ thuật lập trình nâng cao: Chương 7 - Trần Minh Thái
13 p | 36 | 3
-
Bài giảng Kỹ thuật lập trình: Chương 7 - Trần Quang Hải Bằng
3 p | 57 | 3
-
Bài giảng Công nghệ lập trình tích hợp: Chương 7 - TS. Nguyễn Quang Uy
39 p | 9 | 3
-
Bài giảng Kỹ thuật lập trình: Chương 7 - Trần Quang
28 p | 6 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn