intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Chương 7: Lập trình hướng đối tượng (OOP)

Chia sẻ: Codon_02 Codon_02 | Ngày: | Loại File: PPT | Số trang:24

78
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Chương 7: Lập trình hướng đối tượng (OOP)

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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. 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
  8. 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
  9. 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
  10. Đố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
  11. Đố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
  12. Đố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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2