Tải bản đầy đủ (.ppt) (19 trang)

Báo cáo lập trình hướng đối tượng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (317.21 KB, 19 trang )

Lập trình hướng đối tượng
Lập trình hướng đối tượng
- Nguyễn Tuấn Anh
- Lê Văn Ngọc
- Lê Minh Thành
- Vi Văn Toàn
GV: Nguyễn Hùng Cường
Trường đại học
hùng vương
Phân công công việc

Lê Văn Ngọc

Khái niệm về OOP

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

Đối tượng

Thuộc tính, phương thức

Vi Văn Toàn

Lớp

Lớp trừu tượng

Trừu tượng hoá

Nguyễn Tuấn Anh


Thông điệp

Đóng gói

Kế thừa

Đa hình

Lê Minh Thành

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

Ưu điểm của OOP

ứng dụng của OOP

Các ngôn ngữ OOP
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
2
I: Khái niệm về lập trình hướng đối tượng

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

Object Oriented Programming (OOP).

Phương pháp thiết kế và phát triển phần
mềm dựa trên kiến trúc lớp và đối tượng.

Được xem là:


Cách tư duy, tiếp cận hướng đối tượng.

Mục đích:

Mô tả chân thực thế giới thực.

Tăng năng suất, dễ bảo trì, nâng cấp.
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
3
Các khái niệm cơ bản trong OOP

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

Đối tượng

Thuộc tính, phương thức

Lớp

Lớp trừu tượng

Trừu tượng hoá

Thông điệp

Đóng gói

Kế thừa


Đa hình
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
4
1. Hệ thống hướng đối tượng

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

Được đóng gói bởi:

Dữ liệu (thuộc tính của dữ liệu)

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

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

Gửi và nhận thông báo
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
5
2. Đối tượng (object)

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

thế giới thực

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

Đối tượng phần mềm dùng để biểu diễn các đối
tượng trong thế giới thực

Một đối tượng cụ thể được gọi là một thể hiện

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

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

Các hành động (behavior), thao tác
đối tượng=dữ liệu+phương thức
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
6
3. 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 của một đối tượng

Bao gồm: hằng, biến, tham số nội tại

Được xác định kiểu: kiểu cổ điển hoặc kiểu do người
dùng định nghĩa


Phương thức (method):

Là các hàm nội tại của đối tượng, có kiểu trả về

Xác định cách thức hoạt động của đối tượng và
được thực thi khi một đối tượng cụ thể được tạo ra
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
7
4. Lớp (class)

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ế hay mẫu mô tả một cấu trúc dữ liệu gồm:

các thuộc tính

các phương thức
→dùng chung cho các đối tượng cùng loại

Trong lập trình, có thể coi lớp như là một kiểu, đối tượng sẽ là
các biến có kiểu của lớp.

các loại:

Lớp cha

Lớp con
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng

8
5. Lớp trừu tượng

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

Đượ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

Ví dụ:

Lớp hình phẳng

Lớp động vật
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
9
6. Sự trừu tượng hoá (abstraction)

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

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

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 một thực thể đặc thù trong ứng dụng đang phát triển

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

Trừu tượng hoá chương trình (chức năng):

Là một sự trừu tượng hoá dữ liệu mà làm cho các dịch vụ thay đổi
theo dữ liệu

không quan tâm làm thế nào để thực hiện công việc
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
10
7. Thông điệp (message)

Thông điệp:

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

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

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

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

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

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

Gọi thực hiện hàm tương ứng phương thức
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
11
8. Đóng gói (encapsulation)

Khái niệm:

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.

Đóng gói gồm:

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

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

Ưu điểm:

Quản lý sự thay đổi

Bảo vệ dữ liệu

Che giấu thông tin:


Ẩn đi các chi tiết thiết kế hay thi công từ các đối tượng
khác
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
12
9. Kế thừa (inheritance)

Khái niệm:

Các phương thức hay thuộc tính được định nghĩa trong một lớp
có thể được thừa kế hoặc được sử dụng lại bởí lớp khác

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

Đơn kế thừa

Đa kế thừa

Lớp cha (superclass):

Là lớp có các thuộc tính hay phương thức thừa hưởng bởi một
hay nhiều lớp khác

Lớp con (subclass):

Là lớp thừa hưởng những đặc tính chung của lớp cha và thêm
vào những đặc tính riêng khác
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
13

10. Đa hình (polymorphism)

Khái niệm:

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

Thực hiện bởi:

Định nghĩa lại

Nạp chồng

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

Kết gán sớm

Kết gán muộn

Xuất hiện khi có tính kế thừa
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
14
II: Các bước thiết kế một chương trình OOP

Các bước chính:

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

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


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

Xây dựng lớp dẫn xuất từ lớp cơ sở
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
15
III: Ưu điểm của OOP

Các ưu điểm chính:

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

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

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

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

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

Chương trình được thiết kế theo đúng qui
trình
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
16
IV: ứ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/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
17
V: 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#
10/22/14
Công nghệ phần mềm - Lập trình hướng đối tượng
18

×