OOP là gì?

Nhập môn Lập trình Hướng đối tượng với Python

George Boorman

Curriculum Manager, DataCamp

Lập trình thủ tục

  • Mã dưới dạng một chuỗi các bước
  • Tuyệt vời cho phân tích dữ liệu

Cầu thang

1 Nguồn ảnh: https://unsplash.com/@tateisimikito
Nhập môn Lập trình Hướng đối tượng với Python

Tư duy theo chuỗi

biểu tượng một người trên giường, tiếp theo là biểu tượng cà phê, tiếp theo là biểu tượng cặp tài liệu

một bộ biểu tượng đại diện cho nhiều hoạt động

Nhập môn Lập trình Hướng đối tượng với Python

Lập trình thủ tục

  • Mã dưới dạng chuỗi các bước
  • Tuyệt vời cho phân tích dữ liệu

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

  • Mã như các tương tác của đối tượng
  • Tuyệt vời để xây dựng phần mềm
  • Mã có thể bảo trì và tái sử dụng!
Nhập môn Lập trình Hướng đối tượng với Python

Đối tượng

$$\Large{\text{Đối tượng = dữ liệu + chức năng}}$$

hình bóng một người với máy tính xách tay đại diện cho khách hàng

                                                      **Trạng thái** - _dữ liệu_ của một đối tượng

Nhập môn Lập trình Hướng đối tượng với Python

Các đối tượng trong Python

  • Mọi thứ trong Python đều là một đối tượng
Đối tượng Loại
5 int
"Hello" str
pd.DataFrame() DataFrame
sum() function
... ...
Nhập môn Lập trình Hướng đối tượng với Python

Các lớp như bản thiết kế

  • Lớp: bản thiết kế cho các đối tượng, xác định các trạng thái và hành vi có thể có

lớp khách hàng

Nhập môn Lập trình Hướng đối tượng với Python

Các lớp như bản thiết kế

  • Lớp : bản thiết kế cho các đối tượng, xác định các trạng thái và hành vi có thể có

lớp khách hàng phân nhánh thành các đối tượng khách hàng

Nhập môn Lập trình Hướng đối tượng với Python

Các lớp trong Python

  • Các đối tượng Python cùng kiểu hoạt động giống nhau
  • lists là một lớp
    • Được tạo bằng các giá trị phân tách bằng dấu phẩy [1, 2, 3, 4, 5]
    • Chia sẻ cùng các phương pháp, ví dụ: .append()
  • Dùng type() để tìm lớp
type([1, 2, 3, 4, 5])
<class 'list'>
Nhập môn Lập trình Hướng đối tượng với Python

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

Trạng thái ↔ thuộc tính
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# shape attribute df.shape
(3, 2)
  • Dùng obj. để truy cập các thuộc tính và phương thức
Hành vi ↔ phương thức
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# head method df.head()
   a  b
0  1  4
1  2  5
2  3  6
Nhập môn Lập trình Hướng đối tượng với Python

Hiển thị thuộc tính và phương thức

# Display attributes and methods
dir([1, 2, 3, 4])
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
# Display attributes and methods
dir(list)
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
Nhập môn Lập trình Hướng đối tượng với Python

Tờ gian lận

Thuật ngữ Định nghĩa
Lớp Một bản thiết kế/mẫu dùng để xây dựng đối tượng
Đối tượng Sự kết hợp giữa dữ liệuchức năng; Một thể hiện của một lớp
Trạng thái Dữ liệu liên kết với một đối tượng, được gán thông qua thuộc tính
Hành vi chức năng của một đối tượng, được định nghĩa thông qua phương thức
Nhập môn Lập trình Hướng đối tượng với Python

Hãy cùng xem lại!

Nhập môn Lập trình Hướng đối tượng với Python

Preparing Video For Download...