chuong 1_gioi thieu ve cac tinh chat

Màu nền
Font chữ
Font size
Chiều cao dòng

Chương I

Giới thiệu

Tổng quan

Lập trình hướng đối tượng

n   1.1 Lập trình tuyến tính

§Lập trình tuyến tính :

•          Còn gọi là lập trình phi cấu trúc

•          Giải quyết các bài toán tương nhỏ, đối đơn giản

§Đặc điểm:

•          Chỉ gồm một chương trình chính

•          Gồm một dãy tuần tự các câu lệnh

•          Chương trình ngắn, ít hơn 100 dòng

n     Nhược điểm:

q      Không sử dụng lại được các đoạn mã

q      Không có khả năng kiểm soát phạm vi truy xuất dữ liệu

q      Mọi dữ liệu trong chương trình là toàn cục

q      Dữ liệu có thể bị sửa đổi ở bất cứ vị trí nào trong chương trình

n     Không đáp ứng được việc triển khai phần mềm

n   1.2 Lập trình cấu trúc

n     Ra đời vào những năm 70:

n     Chương trình được chia nhỏ thành chương trình con:

q     Thủ tục (Procedure)

q     Hàm (Function)

n     Các chương trình con:

q     Độc lập với nhau và có dữ liệu riêng

q  Trao đổi qua: tham số và biến toàn cau

n     Xuất hiện khái niệm trừu tượng hoá

q     Là khả năng quan sát sự vật mà:

n       Không quan tâm tới các chi tiết không quan trọng bên trong

n       Không quan tâm tới việc thực hiện như thế nào

q     Trừu tượng hoá dữ liệu

q     Trừu tượng hoá thao tác

n     Ngôn ngữ lập trình cấu trúc:

q     C, Pascal

q     Foxpro …

n   1.3 Lập trình môđun

n     Với lập trình môđun:

q      Các thủ tục có chung một chức năng được nhóm lại với nhau

q      Chương trình được chia thành nhiều phần nhỏ

q      Các phần tương tác thông qua việc gọi thủ tục

q      Mỗi mô đun có dữ liệu của riêng nó

n  1.4 Nhược điểm của lập trình truyền thống

n     Nhược điểm:

q     Chương trình khó kiểm soát

q     Khó khăn trong việc bổ sung, nâng cấp chương trình

q     Khi thay đổi, bổ sung dữ liệu dùng chung thì phải thay đổi gần như tất cả thủ tục/hàm liên quan

q     Khả năng sử dụng lại các đoạn mã chưa nhiều

q     Không mô tả đầy đủ, trung thực hệ thống trong thực tế

1.5 Lập trình hướng đối tượng

n     Là phương pháp lập trình:

q   Mô tả chính xác các đối tượng trong thế giới

q   Lấy đối tượng làm nền tảng xây dựng thuật toán

q   Thiết kế xoay quanh dữ liệu của hệ thống

q   Chương trình được chia thành các lớp đối tượng

q   Dữ liệu được đóng gói, che dấu và bảo vệ

q   Đối tượng làm việc với nhau qua thông báo

q   Chương trình được thiết kết theo cách từ dưới lên (bottom-up)

n   2.1 Hệ thống hướng đối tượng

n     Là hệ thống có đặc điểm sau:

q   Gồm tập hợp các đối tượng

n       Sự đóng gói của 2 thành phần:

q       Dữ liệu (thuộc tính của đối tượng)

q       Các thao tác trên dữ liệu

q   Các đối tượng có thể kế thừa các đặc tính của đối tượng khác

q   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

n       Thông báo

n       Gửi & nhận thông báo

n   2.2 Đối tượng (Object)

n     Là khái niệm trừu tượng phản ánh các thực thể trong thế giới thực

q   Có thể là một thực thể vật lý

q   Có thể là một khái niệm trừu tượng

n     Được định nghĩa là sự thể hiện của một lớp

n     Chính là các thực thể trong hệ thống hướng đối tượng

n     Một đối tượng là sự đóng gói 2 thành phần:

q   Trạng thái (state) hay dữ liệu

q   Các ứng xử (behavior) hay hành vi, thao tác

n   2.3 Thuộc tính & phương thức

n     Thuộc tính bao gồm:

q   Hằng, biến

q   Tham số nội tại

n     Thuộc tính được xác định kiểu, gồm:

q   Kiểu cổ điển

q   Kiểu do người dùng định nghĩa

n     Phương thức là:

q   Các hàm nội tại của đối tượng

q   Có kiểu trả về

q   Tên gọi khác: hàm thành viên

n   2.4 Lớp (Class) & Lớp con (SubClass)

n     Lớp: là tập hợp các đối tượng có cùng thuộc tính và hành vi

n     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:

q   Các thành phần dữ liệu

q   Các phương thức

n     Lớp được sử dụng như kiểu dữ liệu người dùng định nghĩa

n     Lớp con:

q   Là lớp thông thường

q   Có thêm tính chất kế thừa đặc tính của lớp khác

n   2.5 Lớp trừu tượng

n     Là lớp mà nó không thể trở thành một lớp thực tế nào

n     Được thiết kế nhằm tạo ra lớp có đặc tính tổng quát

n     Bản thân nó chưa có ý nghĩa nên chưa thể viết mã cho đối tượng

n     Ví dụ:

q   Lớp hình phẳng

q   Lớp động vật

n   2.6 Truyền thông điệp

n     Thông điệp:

q   Là phương tiện để đối tượng này chuyển yêu cầu tới đối tượng khác.

n     Một thông điệp bao gồm:

q   Handle của đối tượng đích (đối tượng chủ)

q   Tên phương thức cần thực hiện

q   Các thông tin cần thiết khác (tham số)

n     Hệ thống yêu cầu đối tượng thực hiện phương thức như sau:

q   Gửi thông báo và tham số cho đối tượng

q   Kiểm tra tính hợp lệ của thông báo

q   Gọi thực hiện hàm tương ứng phương thức

n   2.7 Sự trừu tượng hoá

n     Khái niệm:

q   Là khả năng bỏ qua hay không để ý tới các thành phần không quan trọng.

n     Các loại trừu tượng hoá:

q   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

q   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

n     Tóm lại:

q   Chỉ quan tâm tới đặc điểm quan trọng

q   Bỏ qua các chi tiết không liên quan

n   2.8 Sự đóng gói

n     Khái niệm:

q   Là cơ chế ràng buộc dữ liệu và các thao tác trên dữ liệu thành thể thống nhất.

n     Đóng gói gồm:

q   Bao gói: người dùng giao tiếp với hệ thống qua giao diện

q   Che dấu: ngăn chặn các thao tác không được phép từ bên ngoài

n     Ưu điểm:

q   Quản lý sự thay đổi

q   Bảo vệ dữ liệu

n   2.9 Sự kế thừa

n     Khái niệm:

q   Khả năng cho phép xây dựng lớp mới được thừa hưởng các thuộc tính của lớp đã có

n     Đặc điểm:

q   Lớp nhận được có thể bổ sung các thành phần

q   Hoặc định nghĩa là các thuộc tính của lớp cha

n     Các loại kế thừa:

q   Đơn kế thừa

q   Đa kế thừa

n   2.10 Sự đa hình

n     Khái niệm:

q   Khả năng đưa một phương thức có cùng tên trong các lớp con

n     Thực hiện bởi:

q   Định nghĩa lại

q   Nạp chồng

n     Cơ chế dựa trên sự kết gán:

q   Kết gán sớm

q   Kết gán muộn

n  3. Các bước thiết kế chương trình OOP

n     Các bước chính:

q  Xác định các dạng đối tượng (lớp)

q  Tìm dữ liệu dùng chung, chia xẻ

q  Xác định lớp cơ sở dựa vào dữ liệu dùng chung

q  Xây dựng lớp dẫn xuất từ lớp cơ sở

n   4. Ưu điểm của OOP

n     Ưu điểm chính:

q  Loại bỏ các đoạn mã lặp lại

q  Tạo ra các chương trình an toàn, bảo mật

q  Dễ dàng mở rộng và nâng cấp

q  Rút ngắn thời gian xây dựng hệ thống

q  Tăng năng xuất và hiệu quả hơn

q  Chương trình được thiết kế theo đúng qui trình

n   5. Một số ngôn ngữ OOP

n     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:

q  Ngôn ngữ hỗ trợ hướng đối tượng:

n      Object C, Pascal, C++, Delphi…

q  Ngôn ngữ hướng đối tượng:

n      SmallTalk, JAVA

n     Một số ngôn ngữ OOPhiện nay:

q  Visual C++

q  VB.NET, C#...

n   6. Ứng dụng của OOP

n     Dùng để phát triển phần mềm trong nhiều lĩnh vực khác nhau:

q  Ví dụ: hệ điều hành Windows

n     Lĩnh vực chính:

q  Hệ thống thời gian thực

q  Cơ sở dữ liệu hướng đối tượng

q  Hệ siêu văn bản, đa phương tiện

q  Trí tuệ nhân tạo

q  Lập trình song song, mạng nơron …

Bạn đang đọc truyện trên: Truyen2U.Net