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

Bài giảng Chương 2: Giới thiệu về lập trình hướng đối tượng OOP

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

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

Bài giảng Chương 2: Giới thiệu về lập trình hướng đối tượng OOP sẽ giới thiệu tới các bạn tổng quan về các kỹ thuật lập trình: Lập trình cổ điển, lập trình cấu trúc, lập trình hướng đối tượng; một số khái niệm cơ bản về lập trình hướng đối tượng.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Chương 2: Giới thiệu về lập trình hướng đối tượng OOP

  1. Chương 2: GiỚI THIỆU VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG OOP NỘI DUNG I.Giới thiệu II.Tổng quan về các kỹ thuật lập trình 1. Lập trình cổ điển 2. Lập trình cấu trúc 3. Lập trình hướng đối tượng III. Một số khái niệm cơ bản về lập trình hướng đối tượng 1
  2. I. GiỚI THIỆU • Lập trình cấu trúc là phương pháp tổ chức, phân chia chương trình thành các chương trình con (hàm, thủ tục). Mỗi hàm có dữ liệu riêng, thực hiện các công việc rời rạc. Thông qua các ngôn ngữ Foxpro, Pascal, C đa số những người làm tin học đã khá quen biết với phương pháp lập trình này. • Lập trình hướng đối tượng dựa trên việc tổ chức chương trình thành các lớp. Khác với hàm và thủ tục, lớp là một đơn vị bao gồm cả dữ liệu và các phương thức xử lý. Vì vậy lớp có thể mô tả các thực thể một cách chân thực, đầy đủ cả thành phần dữ liệu và yêu cầu quản lý. Tư tưởng lập trình hướng đối tượng được áp dụng trong các ngôn ngữ như Microsoft Access, Visual Basic, C++, Visual C, C#, ... 2
  3. II. TỔNG QUAN VỀ CÁC KỸ THUẬT LẬP TRÌNH 1. Lập trình cổ điển: a. Lập trình tuyến tính Máy tính đầu tiên được lập trình bằng mã nhị phân, sử dụng các công tắc cơ khí để nạp chương trình. Cùng với sự phát triển máy tính, ngôn ngữ lập trình cấp cao cũng ra đời và đưa vào sử dụng. Ngôn ngữ lập trình tuyến tính đầu tiên thiết kế làm các công việc đơn giản như tính toán, chương trình ngắn. • Giải quyết các bài toán tương đối nhỏ, đơn giản. • Sử dụng biến tổng thể, lạm dụng lệnh GOTO 3 • Các ngôn ngữ như Assemly, Fortran, Basic
  4. Lập trình tuyến tính Đặc điểm: • Chỉ gồm một chương trình chính • Chỉ dùng hai cấu trúc lệnh là cấu trúc lệnh tuần tự (sequential) và nhảy không điều kiện (goto). • Không sử dụng lại được các đoạn mã • Không có khả năng kiểm soát phạm vi truy xuất dữ liệu. • Hệ thống thư viện nghèo nàn và lập trình trở nên khó khăn. • Mọi dữ liệu trong chương trình là toàn cục • Dữ liệu có thể bị sửa đổi ở bất cứ vị trí nào trong chương trình 4
  5. b. Lập trình cấu trúc / lập trình thủ tục (structured/procedural programming) • Ra đời vào những năm 70. • Các ngôn ngữ như: Pascal, C, Foxpro… • Người lập trình phân tích nhiệm vụ lớn thành nhiều công việc nhỏ hơn, sau đó dần dần chi tiết hơn, cụ thể hơn. Tức là chương trình được chia nhỏ thành những chương trình con. Trong Pascal chương trình con là 2 kiểu thủ tục (Procedure) và hàm (Function), trong C chỉ có 1 loại là hàm. • Lập trình theo nguyên lý từ trên xuống. • Các chương trình con: - Độc lập với nhau và có dữ liệu riêng. Chúng được ghép nối với nhau cho ra một hệ thống chương trình. 5 -Trao đổi qua tham số và biến toàn cục.
  6. Lập trình cấu trúc  Ưu điểm: • Chương trình được cục bộ hóa, do đó dễ hiểu, dễ bảo trì hơn. • Dễ dàng tạo ra các thư viện phần mềm. Nhược điểm: • Dữ liệu và code xử lý tách rời • Người lập trình phải biết cấu trúc dữ liệu. • Khi thay đổi cấu trúc dữ liệu thì code phải thay đổi theo • Khó đảm bảo tính đúng đắn của dữ liệu • Không tự động khởi tạo hay giải phóng dữ liệu động. 6
  7. 3. Lập trình hướng đối tượng (Object Oriented Programming) • Là phương pháp lập trình: – Lấy đối tượng (Object) làm nền tảng để xây dựng giải thuật, xây dựng chương trình. Đối tượng đóng vai trò trung tâm của lập trình, nên gọi là nguyên lý lập trình từ dưới lên. – Đối tượng được hiểu như một thực thể (instance), đối tượng được đặc trưng bởi một số thao tác và các thông tin. – Chương trình được chia thành các lớp đối tượng – Dữ liệu được đóng gói, che dấu và bảo vệ – Đối tượng làm việc qua thông báo. 7
  8. Ưu điểm của OOP • Ưu điểm chính: – Loại bỏ các đoạn mã lặp lại, viết code hiệu quả hơn, dễ bổ sung và dễ mở rộng. – Dễ học hơn lập trình thủ tục – Tạo ra các chương trình an toàn, bảo mật – Rút ngắn thời gian xây dựng hệ thống – Chương trình được thiết kế theo đúng qui trình, … 8
  9. Một số ngôn ngữ OOP • Hầu hết các ngôn ngữ lập trình đều hỗ trợ OOP, có thể chia thành 2 loại: – Ngôn ngữ hỗ trợ hướng đối tượng: • Object C, Pascal, C++, Delphi… – Ngôn ngữ hướng đối tượng: • SmallTalk, JAVA • Một số ngôn ngữ OOP hiện nay: – Visual C++ – VB.NET, C#... 9
  10. 6. Ứng dụng của OOP • Dùng để phát triển phần mềm trong nhiều lĩnh vực khác nhau: – Ví dụ: hệ điều hành Windows • Lĩnh vực chính: – Hệ thống thời gian thực – Cơ sở dữ liệu hướng đối tượng – Hệ siêu văn bản, đa phương tiện – Trí tuệ nhân tạo – Lập trình song song, mạng nơron … 10
  11. III. Một số khái niệm cơ bản về lập trình hướng đối tượng - Hệ thống hướng đối tượng - Lớp và đối tượng - Thuộc tính và Phương thức - Lớp & Lớp con - Lớp cơ sở trừu tượng - Truyền thông điệp - Sự trừu tượng hoá - Sự đóng gói và che dấu thông tin - Thừa kế - Đa hình 11
  12. 1. Hệ thống hướng đối tượng Là hệ thống có đặc điểm sau:  Gồm tập hợp các đối tượng.  Sự đóng gói của 2 thành phần: – Dữ liệu (thuộc tính của đối tượng) – Các thao tác trên dữ liệu  Các đối tượng có thể kế thừa các đặc tính của đối tượng khác.  Các đối tượng có thể tồn tại hoạt động phân tán hoặc song song.  Hoạt động thông qua sự tương tác giữa các đối tượng nhờ cơ chế truyền thông điệp: • Thông báo 12 • Gửi và nhận thông báo
  13. 2. Lớp (class) và đối tượng (Object) • Lớp đối tượng là khuôn mẫu để sinh ra đối tượng • Đối tượng - Là thể hiện (instance) của một lớp. - Là khái niệm trừu tượng phản ánh các thực thể trong thế giới thực. - Có thể là một thực thể vật lý. - Có thể là một khái niệm trừu tượng. - Chính là các thực thể trong hệ thống hướng đối tượng. • Đối tượng có: Định danh (tên), thuộc tính (dữ liệu), hành vi (phương thức). • Sự khác biệt giữa lớp và đối tượng giống như sự khác biệt giữa tập hợp và phần tử trong tập hợp đó. 13
  14. Lớp (Class) và Lớp con (SubClass)  Lớp: là tập hợp các đối tượng có cùng thuộc tính và hành vi • Là bản thiết kế hoặc bản mẫu mô tả một cấu trúc dữ liệu gồm: - Các thành phần dữ liệu. - Các phương thức. • Lớp được sử dụng như kiểu dữ liệu người dùng định nghĩa. • Những đối tượng của cùng một lớp có cùng định nghĩa về các thao tác và cùng cấu trúc dữ liệu của chúng  Lớp con: – Là lớp thông thường. – Có thêm tính chất kế thừa đặc tính của lớp khác14
  15. 3. Thuộc tính lớp và phương thức 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 chia sẻ bởi tất cả các thể hiện của 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. 15
  16. 4. 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. • Thuộc tính của đối tượng bao gồm: – Hằng, biến – Tham số nội tại. • Thuộc tính được xác định kiểu, gồm: – Kiểu cổ điển – Kiểu do người dùng định nghĩa 16
  17. Thuộc tính và phương thức Phương thức (method) có liên quan tới những thứ mà đối tượng có thể làm. Một phương thức đáp ứng một chức năng tác động lên dữ liệu của đối tượng (thuộc tính). • Phương thức là: – Các hàm nội tại của đối tượng – Có kiểu trả về – Tên gọi khác hàm thành viên. • Một đối tượng sau khi khai báo sẽ được cấp phát một vùng nhớ riêng chứa các thuộc tính, nhưng không có vùng nhớ riêng cho các phương thức. 17
  18. 4. Lớp cơ sở trừu tượng • Là lớp mà nó không thể trở thành một lớp thực tế nào. • Là lớp chỉ được dùng cơ sở cho lớp khác. • Được thiết kế nhằm tạo ra lớp có đặc tính tổng quát. • Bản thân nó chưa có ý nghĩa nên chưa thể viết mã cho đối tượng. • Không hề có đối tượng nào của lớp trừu tượng được tạo ra. • Ví dụ: – Lớp hình phẳng – Lớp động vật 18 – Lớp nhân viên (nếu có nhiều loại nhân viên)
  19. 5. Thông điệp và 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. 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  Truyền thông điệp: 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. -Truyền thông điệp ta hiểu là sử dụng đối tượng để gọi các phương thức của đối tượng đó  Hệ thống yêu cầu đối tượng thực hiện phương thức như sau: -Gửi thông báo và tham số cho đối tượng -Kiểm tra tính hợp lệ của thông báo 19 -Gọi thực hiện hàm tương ứng với phương thức
  20. 6. Sự trừu tượng hoá • Khái niệm: – Là khả năng bỏ qua hay không để ý tới các thành phần không quan trọng. • Các loại trừu tượng hoá: – Trừu tượng hoá dữ liệu: không quan tâm các chi tiết không quan trọng bên trong – Trừu tượng hoá chức năng: không quan tâm làm thế nào để thực hiện công việc • Tóm lại: – Chỉ quan tâm tới đặc điểm quan trọng – Bỏ qua các chi tiết không liên quan 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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