Professional Documents
Culture Documents
KHÓA 29
01. Khái niệm
02. Tạo lớp
Hướng thủ tục: Thể hiện ở việc sử dụng định nghĩa các hàm, và các
hàm này có thể sử dụng tại các module khác trong chương trình Python.
Hướng đối tượng: Thể hiện ở việc sử dụng lớp (class). Có thể định
nghĩa một class, class là một nguyên mẫu (prototype) để tạo ra các đối
tượng (object/instance).
3
KHOA CÔNG NGHỆ THÔNG TIN
Đặt vấn đề
Giả sử: Khi bạn muốn đăng ký khóa học Lập trình tại 1 Trung Tâm
ABC. Việc đầu tiên là bạn nhận 1 tờ khai thông tin theo một khuôn mẫu
cho trước. Tại sao lại như vậy? Tại sao trung tâm không đưa tờ giấy
trắng và yêu cầu bạn cung cấp thông tin. Rõ rang là họ muốn thông tin
được tổ chức, định dạng theo cùng một mẫu. Mẫu này gồm những thông
tin đã được chuẩn hóa. Giúp mọi việc dễ dàng hơn cho trung tâm và học
viên khi cung cấp và lưu trữ
4
KHOA CÔNG NGHỆ THÔNG TIN
2. Định nghĩa lớp trong Python
Để định nghĩa một lớp trong Python chúng ta sử dụng từ khoá
class theo cú pháp sau:
class <tên_lớp>([tên_lớp_cha]):
Các câu lệnh để định nghĩa các thuộc tính và hành vi (phương
thức) và phương thức khởi tạo ( Constructor).
6
KHOA CÔNG NGHỆ THÔNG TIN
2. Tạo lớp
Ví dụ 1: class MyClass:
"Khởi tạo class cơ bản"
a = 10
str = "Tôi là class đầu tiên!"
Ví dụ trên cho thấy rằng: Tạo class phải tuân thủ quy tắc trong
Python, phải thụt lề đối với các thành phần con trong class.
7
KHOA CÔNG NGHỆ THÔNG TIN
2.1. Thuộc tính
Phương thức của lớp cũng giống như một hàm thông
thường, nhưng ở đây nó là một hàm của class, để sử
dụng cần phải gọi thông qua đối tượng của class.
10
KHOA CÔNG NGHỆ THÔNG TIN
2.2. Phương thức
Cú pháp:
Trong đó:
<tên hàm>: Tên của hàm do người dùng đặt theo quy tắc đặt tên, chúng ta nên đặt tên hàm để
gợi nhớ đến nhiệm vụ hàm.
self: Là từ khóa chỉ định hàm thuộc lớp hiện tại chúng ta đang xét.
<danh sách tham số>: Là các tham số truyền vào làm giá trị đầu vào cho hàm giải quyết công
việc, nếu có nhiều tham số thì các tham số cách nhau bởi dấu phẩy dưới.
<khối lệnh>: Gồm định nghĩa một hoặc các lệnh trong thân hàm, nhằm thực hiện một công việc
nào đó..
<giá trị tv>: Là giá trị trả về của hàm sau khi hoàn thành công việc nếu có lệnh returrn.
11
KHOA CÔNG NGHỆ THÔNG TIN
2.3. Constructor
Phương thức khởi tạo (Constructor) là một phương thức đặc biệt của lớp
(class), nó luôn có tên là __init__. Lưu ý rằng đó dấu gạch dưới kép (__)
Tham số đầu tiên của constructor luôn là self (sefl từ khóa xác định chính
class đó).
Constructor được sử dụng để tạo ra một đối tượng.
Constructor gán các giá trị từ tham số vào các thuộc tính của đối tượng sẽ
được tạo ra.
Trong một class chỉ định nghĩa một phương thức khởi tạo (constructor).
Nếu class không được định nghĩa constructor, Python mặc định coi rằng
nó thừa kế từ constructor của lớp cha.
12
KHOA CÔNG NGHỆ THÔNG TIN
2.3. Constructor
Cú pháp:
Trong đó:
self: Từ khoá self được dùng để chỉ đây là một thuộc tính của
đối tượng.
thuộc tính: chính là tên của thuộc tính đối tượng của lớp.
tham số: Là các tham số truyền vào chính là các giá trị cho
hàm.
13
KHOA CÔNG NGHỆ THÔNG TIN
2.3. Constructor
Ví dụ 2: Tạo module rectangle.py và Xây dựng class Rectangle chứa
Constructor với 2 thuộc tính width, height và các phương thức
getWidth, getHeight, getArea.
14
KHOA CÔNG NGHỆ THÔNG TIN
2.4. Tham số mặc định trong Constructor
Python chỉ có duy nhất 1 Constructor và cho phép gán giá trị mặc
định cho tham số.
Ví dụ: Tạo module tên hocsinh.py và viết chương trình như sau:
15
KHOA CÔNG NGHỆ THÔNG TIN
3. Khai báo và sử dụng đối tượng
Để truy cập đến các thành phần trong một lớp, phải khai báo một
đối tượng của lớp.
Cú pháp tạo đối tượng của lớp như sau:
<tên_biến_đối_tượng> = <tên_lớp>([danh_sách_đối_số])
Cú pháp truy cập đến thuộc tính đối tượng:
<tên_biến_đối tượng>.<tên thuộc tính>
Cú pháp gọi phương thức của lớp:
<tên biến đối tượng>.<tên phương thức>([danh sách tham số))
16
KHOA CÔNG NGHỆ THÔNG TIN
3. Khai báo và sử dụng đối tượng
Ví dụ 4: Từ ví dụ 1, chúng ta khai báo và sử dụng đối tượng để truy
cập đến các thành phần của lớp như sau:
17
KHOA CÔNG NGHỆ THÔNG TIN
3. Khai báo và sử dụng đối tượng
Ví dụ 5: Từ ví dụ 2, chúng ta khai báo và sử dụng đối tượng để truy
cập đến các thành phần của lớp như sau:
18
KHOA CÔNG NGHỆ THÔNG TIN
3. Khai báo và sử dụng đối tượng
Ví dụ 6: Từ ví dụ 3, chúng ta khai báo và sử dụng đối tượng để truy
cập đến các thành phần của lớp có tham số mặc định như sau:
Kết quả
19
KHOA CÔNG NGHỆ THÔNG TIN
4. BÀI TẬP
1. Tạo một class Student có các thuộc tính name, age, course_name
Viết hàm khởi tạo với đầy đủ các thông tin trên
Viết hàm show_info() để hiển thị toàn bộ các thuộc tính trên
Tạo một đối tượng từ class Student sau đó gọi hàm show_info()
để hiển thị thông tin của đối tượng đó (cho người dùng nhập vào 3
thông tin name, age, course_name)
2. Khai báo class để quản lý đối tượng Vehicle bao gồm các thông tin
sau: Số khung, Tên hãng, Loại (4 chỗ/ 7 chỗ ..), màu xe.
Viết hàm khởi tạo với đầy đủ các thông tin trên
Viết hàm hiểu thị thông tin xe
Tạo một đối tượng từ lớp Vehicle và gọi hàm hiển thị thông tin
trên (các thông tin do người dùng nhập)
20
KHOA CÔNG NGHỆ THÔNG TIN
4. BÀI TẬP
1. Xây dựng lớp hình chữ nhật và tạo đối tượng kiểu lớp hình chữ nhật
sau đó gọi các thành phần của đối tượng có trong lớp hình chữ nhật.
Phân tích: Quan sát hình chữ nhật ta thấy hình chữ nhật có các dữ liệu
thành phần: chiều dài, chiều rộng, màu sắc. Các hàm thành phần gồm:
tính chu vi, tính diện tích và hiển thị thông tin hình chữ nhật ra màn hình.
Từ đó ta có thể biểu diễn lớp hình chữ nhật thông qua ngôn ngữ lập trình
từ các gợi ý trên.
class HinhChuNhat():
21
KHOA CÔNG NGHỆ THÔNG TIN
5. Tổng kết bài học phần 1
Bài học này đã cung cấp cho bạn đọc các khái niệm cơ bản về
phương pháp lập trình hướng đối tượng, các bước định nghĩa một lớp,
tạo các đối tượng và sử dụng đối tượng. Bài học cũng đã cung cấp một
số ví dụ minh hoạ đơn giãn giúp sinh viên có thể làm quen với phương
pháp lập trình này. Tuy nhiên để hiểu sâu hơn nữa, các bạn cần tìm
hiểu và rèn luyện thêm kỹ năng lập trình nữa.
22
KHOA CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN