intTypePromotion=1
ADSENSE

Bài giảng Lập trình hướng đối tượng: Chương 1 - Phạm Minh Hoàn

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

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

Bài giảng Lập trình hướng đối tượng - Chương 1: Các khái niệm cơ bản của lập trình hướng đối tượng. Những nội dung chính trong chương này gồm có: Giới thiệu tiếp cận hướng đối tượng, các khái niệm cơ bản của lập trình hướng đối tượng, các mở rộng của ngôn ngữ C++.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 1 - Phạm Minh Hoàn

  1. CHƯƠNG 1. CÁC KHÁI NIỆM CƠ BẢN CỦA LẬP  TRÌNH HƯỚNG ĐỐI TƯỢNG  Phạm Minh Hoàn Bộ môn công nghệ thông tin – Đại học Kinh tế Quốc dân Email: hoanpm@neu.edu.vn  Phạm Minh Hoàn - NEU
  2. NỘI DUNG CHƯƠNG TRÌNH • BÀI 1. GIỚI THIỆU TIẾP CẬN HƯỚNG ĐỐI  TƯỢNG • BÀI 2. CÁC KHÁI NIỆM CƠ BẢN CỦA LẬP  TRÌNH HƯỚNG ĐỐI TƯỢNG  • BÀI  3.  CÁC  MỞ  RỘNG  CỦA  NGÔN  NGỮ  C++ Phạm Minh Hoàn - NEU
  3. GIỚI THIỆU TIẾP CẬN HƯỚNG ĐỐI  TƯỢNG • Những nhược điểm của lập trình hướng thủ tục: – Lập trình hướng thủ tục  (LTHTT) là cách tiếp cận theo các  hàm chức năng. Một hệ thống phần mềm gồm một dãy các  công việc cần thực hiện như  đọc dữ liệu, tính toán, xử lý,  lập  báo  cáo  và  in  ấn  kết  quả  v.v...  Mỗi  công  việc  đó  sẽ  được thực hiện bởi một số hàm nhất định.  – Chương trình khó kiểm soát và khó khăn trong việc bổ sung,  nâng cấp chương trình. – Mô hình được xây dựng theo cách tiếp cận hướng thủ tục  không mô tả được đầy đủ, trung thực hệ thống trong thực  tế.  – Phương  pháp  LTHTT  đặt  trọng  tâm  vào  hàm  là  hướng  tới  hoạt  động  sẽ  không  thực  sự  tương  ứng  với  các  thực  thể  trong hệ thống cPhạm ủa thMinh ế giớHoàn i thự- c. NEU
  4. GIỚI THIỆU TIẾP CẬN HƯỚNG ĐỐI  TƯỢNG • Tiếp cận hướng đối tượng  – Trong  thế  giới  thực,  vật  chất  tồn  tại  dưới  dạng  đối  tượng,  đó  là  các thực  thể  có mối  quan  hệ với  nhau.  – Đối  với  việc  tổ  chức  chương  trình,  ứng  dụng  có  thể  được  định  nghĩa  như  một  tập  các  thực  thể  ­  hoặc các đối tượng, sao cho quá trình tái tạo những  suy nghĩa là gần sát nhất về thế giới thực. Cách tiếp cận hướng đối tượng. Phạm Minh Hoàn - NEU
  5. GIỚI THIỆU TIẾP CẬN HƯỚNG ĐỐI  TƯỢNG • Lập trình hướng đối tượng: – Lập trình hướng đối tượng (Object Oriented  Programming ­ LTHĐT) 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. – Phương  pháp  LTHĐT  là  thiết  kế  chương  trình xoay quanh dữ liệu của hệ thống.  – LTHĐT không cho phép dữ liệu chuyển động  tự do trong hệ thống. Phạm Minh Hoàn - NEU
  6. CÁC KHÁI NIỆM CƠ BẢN CỦA LẬP  TRÌNH HƯỚNG ĐỐI TƯỢNG • Đối tượng – Trong thế giới thực: đối tượng được hiểu  như là một thực  thể, nó có  thể là người,  vật hoặc một bảng dữ liệu cần xử lý trong  chương trình, …. Ví dụ: sinh_viên, máy_tính, …. – Trong  LTHĐT:  đối  tượng  là  biến  thể  hiện của lớp. Phạm Minh Hoàn - NEU
  7. CÁC KHÁI NIỆM CƠ BẢN CỦA LẬP  TRÌNH HƯỚNG ĐỐI TƯỢNG • Lớp  – Lớp  là  một  khái  niệm  mới  trong  LTHĐT so với kỹ thuật LTHTT.  – Lớp là một bản mẫu mô tả các thông  tin  cấu  trúc  dữ  liệu  và  các  thao  tác  hợp lệ của các phần tử dữ liệu.  Ví dụ: lớp_sinh_viên, lớp_máy_tính, …. Đối  tượng  =  Dữ  liệu  +  Phương  thức. Phạm Minh Hoàn - NEU
  8. CÁC KHÁI NIỆM CƠ BẢN CỦA LẬP  TRÌNH HƯỚNG ĐỐI TƯỢNG • Mối liên hệ giữa lớp và đối tượng: – Lớp là khái niệm tĩnh. – Đối tượng là khái niệm động. – Đối tượng được xác định trong bộ nhớ của  máy tính.  – Đối tượng được tạo ra để xử lý thông tin,  thực hiện nhiệm vụ được thiết kế, sau đó  bị hủy bỏ khi đối tượng đó hết vai trò. Phạm Minh Hoàn - NEU
  9. CÁC KHÁI NIỆM CƠ BẢN CỦA LẬP  TRÌNH HƯỚNG ĐỐI TƯỢNG • Trừu tượng hóa dữ liệu và bao gói thông tin – Trừu tượng hóa  là cách biểu diễn những đặc tính chính  và bỏ qua những chi tiết vụn vặt hoặc những giải thích. – Bao gói thông tin là việc đóng gói dữ liệu và các phương  thức vào một đơn vị cấu trúc lớp.  – Dữ liệu được tổ chức sao cho thế giới bên ngoài (các đối  tượng ở lớp khác) không truy nhập vào được.  – Phương  thức  của  lớp  sẽ  đóng  vai  trò  như  là  giao  diện  giữa dữ liệu của đối tượng và phần còn lại của chương  trình.  – Nguyên  tắc  bao  gói  dữ  liệu  để  ngăn  cấm  sự  truy  nhập  trực  tiếp  trong Phạm lập Minh trình  đượ- c  Hoàn NEUgọi  là  sự  che  giấu  thông  tin.
  10. CÁC KHÁI NIỆM CƠ BẢN CỦA LẬP  TRÌNH HƯỚNG ĐỐI TƯỢNG • Kế thừa – Kế  thừa  là  quá  trình  mà  các  đối  tượng  của  lớp  này  được  quyền  sử  dụng  một  số  tính  chất  của  các đối tượng của lớp khác.  – Sự kế thừa cho phép định nghĩa một  lớp mới trên  cơ  sở  các  lớp  đã  tồn  tại.  Lớp  mới  này,  ngoài  những  thành  phần  được  kế  thừa,  sẽ  có  thêm  những thuộc tính và các hàm mới.  – Nguyên lý kế thừa hỗ trợ cho việc tạo ra cấu trúc  phân cấp các lớp. Phạm Minh Hoàn - NEU
  11. CÁC KHÁI NIỆM CƠ BẢN CỦA LẬP  TRÌNH HƯỚNG ĐỐI TƯỢNG • Tương ứng bội – Tương  ứng bội  là khả năng của một khái  niệm có thể sử dụng với nhiều chức năng  khác nhau.  – Tương  ứng  bội  đóng  vai  quan  trọng  trong  việc  tạo  ra  các  đối  tượng  có  cấu  trúc  bên  trong  khác  nhau  nhưng  cùng  dùng  chung  một giao diện bên ngoài.  Phạm Minh Hoàn - NEU
  12. CÁC KHÁI NIỆM CƠ BẢN CỦA LẬP  TRÌNH HƯỚNG ĐỐI TƯỢNG • Liên kết động – Liên kết động  là dạng liên kết các thủ tục  và hàm khi chương trình thực hiện lời gọi  tới các hàm, thủ tục đó.  – Trong  liên  kết  động,  nội  dung  của  đoạn  chương  trình  ứng  với  thủ  tục,  hàm  sẽ  không được biết cho đến khi thực hiện lời  gọi tới thủ tục, hàm đó.  Phạm Minh Hoàn - NEU
  13. CÁC KHÁI NIỆM CƠ BẢN CỦA LẬP  TRÌNH HƯỚNG ĐỐI TƯỢNG • Truyền thông báo  – Truyền thông báo cho một đối tượng là yêu  cầu đối tượng thực hiện một việc gì đó. – Ví dụ:  • Hinh_vuong.Dien_tich(canh) • Sinh_vien.Diem_trung_binh(ho_ten) – Sự  trao  đổi  thông  tin  chỉ  có  thể  thực  hiện  trong thời gian đối tượng tồn tại. Phạm Minh Hoàn - NEU
  14. QUY TRÌNH LẬP TRÌNH HƯỚNG ĐỐI  TƯỢNG • Xác định các dạng đối tượng (lớp) của bài toán. • Tìm kiếm các đặc tính chung (dữ liệu chung) trong  các dạng đối tượng này, những gì chúng cùng nhau  chia sẻ. • Xác  định  lớp  cơ  sở  dựa  trên  cơ  sở  các  đặc  tính  chung của các dạng đối tượng. • Xây  dựng  các  lớp  dẫn  xuất  chứa  các  thành  phần,  những  đặc  tính  không  chung  còn  lại  của  các  dạng  đối tượng từ lớp cơ sở. Ngoài ra, ta còn đưa ra các  lớp có quan hệ với các lớp cơ sở và lớp dẫn xuất. Phạm Minh Hoàn - NEU
  15. NGÔN NGỮ LẬP TRÌNH HƯỚNG ĐỐI  TƯỢNG • Ngôn  ngữ  lập  trình  dựa  trên  đối  tượng  là  ngôn ngữ gồm các đặc tính: – Bao gói dữ liệu – Cơ chế che giấu và truy nhập dữ liệu – Tự động tạo lập và xóa bỏ các đối tượng – Phép toán tải bội • Ngôn  ngữ  lập  trình  hướng  đối  tượng  là  ngôn ngữ gồm các đặc tính: – Các  đặc  tính  dựa  trên  đối  tượng  +  kế  thừa  +  liên kết động. Phạm Minh Hoàn - NEU
  16. CÁC MỞ RỘNG CỦA NGÔN NGỮ C++ • Giới thiệu chung về C++: – C++  là  ngôn  ngữ  lập  trình  hướng  đối tượng. – C++ là sự mở rộng của ngôn ngữ C. – Phần lớn các chương trình C đều có  thể chạy được trong C++. Phạm Minh Hoàn - NEU
  17. CÁC MỞ RỘNG CỦA NGÔN NGỮ C++ • Đặt lời chú thích – Cách 1: /* Đây là  câu chú thích trên nhiều dòng */ – Cách 2: // Đây là chú thích trên một dòng Phạm Minh Hoàn - NEU
  18. CÁC MỞ RỘNG CỦA NGÔN NGỮ C++ • Khai báo biến – Lệnh  khai  báo  biến  có  thể  đặt  bất  kỳ  chỗ  nào  trong  chương  trình  trước  khi  các biến được sử dụng.  – Phạm  vi  hoạt  động  của  biến  là  khối  trong đó biến được khai báo.  Phạm Minh Hoàn - NEU
  19. CÁC MỞ RỘNG CỦA NGÔN NGỮ C++ • Ví  dụ:  Nhập  một  dãy  số  thực  rồi  sắp  xếp  theo thứ tự tăng dần. #include #include #include main() { int n; printf("\n So phan tu cua day n="); scanf("%d",&n); float *x=(float*)malloc((n+1)*sizeof(float)); for (int i=0;i
  20. CÁC MỞ RỘNG CỦA NGÔN NGỮ C++ • Ví dụ (tiếp): float tg; for(i=0;i*(x+j)) { tg = x[i]; x[i] = x[j]; x[j] = tg; } printf("\n Day sau khi sap xep\n"); for (i=0;i
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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