Upload
la-the-thoi
View
793
Download
0
Embed Size (px)
Citation preview
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Trình bày:
Đinh Công Thuật
13/04/2023
Đinh Công Thuật
2
Nội dung
1. Lập trình hướng đối tượng
2. Một số tính chất
3. Đặc tính của lập trình hướng đối tượng
13/04/20233
1. Lập trình hướng đối tượng
1.1 Khái niệm về lập trình hướng đối tượngLập trình hướng Đối tượng (OOP) là một
phương pháp thiết kế và phát triển phần mềm
là kĩ thuật lập trình hỗ trợ công nghệ đối tượng.
đây là khái niệm và là một nỗ lực nhằm giảm nhẹ các thao tác viết mã cho người lập trình Đinh Công Thuật
13/04/2023
Đinh Công Thuật
4
1.2 Một số khái niệm trong lập trình hướng đối tượngĐối tượng thế giới
Là thực thể trong thế giới thực Ta có thể nhìn, sờ, cảm nhận đượcCó các trạng thái(state) và hành
động(behaviour)
13/04/2023
Đinh Công Thuật
5
Ví dụ:
Ô tô là 1 đối tượng thế giới thực với:Trạng thái:
o Màu đỏo 4 bánh
Hành động:o Chạyo Bay (trong tương lai)
13/04/2023
Đinh Công Thuật
6
1.2 Một số khái niệm trong lập trình hướng đối tượng
Đối tượng phần mềnDùng để biểu diễn các đối tượng thế giới
thực.Cũng có trạng thái và hành động
o Trạng thái: thuộc tính (attribute; property)o Hành động: phương thức (method)
13/04/2023
Đinh Công Thuật
7
Đối tượng
Đối tượng phần mền Đối tượng phần mền xe đạp
Đố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.
Thuộc tính được xác định bởi giá trị cụ thể gọi là thuộc tính thể hiện. Một đối tượng cụ thể được gọi là một thể hiện.
13/04/2023
Đinh Công Thuật
8
1.2 Một số khái niệm trong lập trình hướng đối tượng Lớp:
Một lớp là một thiết kế (blueprint) hay mẫu (prototype) cho các đối tượng có các thuộc tính chung nhất
ví dụ: lớp Student được thết kế chung cho tất cả các đối sinh viên.
Lớp đị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, mỗi thể hiện có thể có những thuộc tính thể hiện khác nhauVí dụ: mỗi đối tượng sinh viênlà 1 cụ thể hóa của lớp Student.
1 sinh viên có thể có điểm cao trong khi 1 sinh viên khác có điểm thấp.
13/04/2023
Đinh Công Thuật
9
1.2 Một số khái niệm trong lập trình hướng đối tượng
Thuộc tính (attribute): Một thuộc tính là một đặc tính được đặt tên của một lớp
mô tả khoảng giá trị mà các thể hiện của đặc tính đó có thể chứa.o Một lớp có thểkhông có thuộc tính nào hoặc có sốlượng thuộc tính
bất kỳ.
ví dụ:
lớp Student với thuộc
tính là: name, age, point,
student_ID.
13/04/2023
Đinh Công Thuật
10
1.2 Một số khái niệm trong lập trình hướng đối tượng Phương thức (method): Xác định cách một đối tượng đáp ứng lại thông điệp Phương thức xác định các hoạt động của lớp Bất kỳ phương thức nào cũng phải thuộc về một lớp nào
đó Có 2 phương thức đặc biệt là phương thức khởi tạo và
phương thức hủy đối tượng
sinh viên có phương thức study: public void study(){
point++;}
13/04/2023
Đinh Công Thuật
11
2. Một số tính chất
2.1 Tính trừu tượngLà tính chất khái quát của các đối tượng
trong chương trìnhTính chất này thường được gọi là sự khái
quát của dữ liệu. Tính trừu tượng này thường được xác
định trong khái niệm gọi là lớp trừu tượng hay lớp cơ sở trừu tượng.
13/04/2023
Đinh Công Thuật
12
Ví dụ về tính trừu tượng:
Trừu tượng hóa
13/04/2023
Đinh Công Thuật
13
2. Một số tính chất
2.2 Tính đóng gói (encapsulation) và che giấu thông tin (information hiding)Tính chất này không cho phép người sử dụng các đối
tượng thay đổi trạng thái nội tại của một đối tượng.Chỉ có các phương thức nội tại của đối tượng cho
phép thay đổi trạng thái của nó.Việc thay đổi từ bên ngoài tùy thuộc vào người
lập trình.Đây là tính chất đảm bảo sự toàn vẹn của đối
tượng.
13/04/2023
Đinh Công Thuật
14
Một đối tượng được đóng gói có thể được xem như một hộp đen – các công việc bên trong là ẩn so với client
Input Output
Đóng gói thuộc tính trong C#:
Don’t Know How it works
public String Student_ID{ get { return student_ID; } set { student_ID = value; }}
13/04/2023
Đinh Công Thuật
15
2. Một số tính chất
2.3 Tính kế thừa (inheritance): Cho phép một đối tượng có thể có sẵn các
đặc tính mà đối tượng khác đã có thông qua kế thừa.
Các đối tượng chia sẻ hay mở rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại.
13/04/2023
Đinh Công Thuật
16
Ví dụ về kết thừa
13/04/2023
Đinh Công Thuật
17
2. Một số tính chất
2.4 Tính đa hình (polymorphism): Tính đa hình cho phép các chức năng (method)
khác nhau được thực thi khác nhau trên các đối tượng khác nhau.
Ví dụ:Có 3 lớp Student, Teacher, Employee kế
thừa lớp Human, trong lớp Human có
phương thức talk(). Khi khởi tạo đối
tượng thuộc 3 lớp khác nhau thì những
đối tượng này gọi tới phương thức talk()
nằm ở lớp nàothì thực thi chức năng
Phương thức ở lớp đó.
13/04/2023
Đinh Công Thuật
18
Đa hình có 2 mức căn bản: Data Type (kiểu dữ liệu) và Method (phương thức).
Trong lập trình hướng đối tượng, Data Type được thể hiện ở Interface và Method thể hiện ở overloading (nạp chồng).
13/04/2023
Đinh Công Thuật
19
3. Đặc tính của lập trình hướng đối tượng
3.1 Ưu điểm Loại bỏ được những đoạn mã trùng lặp,dư thừa trong quá
trình mô tả đối tượng. Rút ngắn thời gian xây dựng hệ thống và tăng năng suất
lao động. Bảo vệ an toàn chương trình trước sự truy nhập tùy tiện
của các đối tượng khác. Xây dựng được mô hình phù hợp với thực tế hơn. Những hệ thống đối tượng dễ mở rộng, nâng cấp thành
những hệ thống lớn hơn.
13/04/2023
Đinh Công Thuật
20
Việc trao đổi thông tin giữa các đối tượng giúp cho việc mô tả giao diện với các hệ thống bên ngoài đơn giản hơn.
Có thể quản lý độ phức tạp của các sảm phẩm phần mền. Tùy thuộc vào dự án tin học mà ta có thể sử dụng các tính
chất khác nhau của lập trình hướng đối tượng.
13/04/2023
Đinh Công Thuật
21
3.2 Nhược điểm
Người lập trình phải nắm bắt nhiều khái niệm hơn so với hướng cấu trúc
Cảm ơn đã theo dõi và lắng nghe