Bài 12 – Lập trình hướng đối tượng trong ngôn ngữ lập trình Python

Lập trình Python
Lập trình Python

1. Tìm hiểu về lập trình hướng đối tượng

– Lập trình hướng đối tượng là một kỹ thuật hỗ trợ, cho phép lập trình viên trực tiếp làm việc với các đối tượng mà họ định nghĩa. Giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm.

– Hiện nay có khá nhiều ngôn ngữ lập trình theo hướng đối tượng như C++, Java, PHP, … và còn cả Python

Một vài thuật ngữ hướng đối tượng

+ Lớp (Class): kiểu dữ liệu do người dùng định nghĩa, tập hợp nhiều thuộc tính đặc trưng cho đối tượng được tạo ra từ lớp đó, các thuộc tính là các biến thành viên hoặc phương thức.

+ Đối tượng (Object): Một thể hiện cụ thể của cấu trúc dữ liệu được định nghĩa trong lớp. Một đối tượng bao gồm cả các biến thành viên và phương thức.

+ Thuộc tính (Data member): thuộc tính được định nghĩa trong lớp.

+ Phương thức (Method): được định nghĩa trong lớp nhằm thực hiện một công việc.

+ Kế thừa (Inheritace):tính chất của các ngôn ngữ lập trình hướng đối tượng cho phép các lớp mở rộng từ 1 lớp có sẵn.

2. Tìm hiểu về thao tác với lớp (class)

a. Khai báo lớp, đối tượng

– Khai báo lớp:

class <tên lớp>:
        #Constructor – Hàm khởi tạo
	def __init__(self,[<danh sách thuộc tính>])
	[<sự kiện>]
	[<phương thức>]

– Khai báo đối tượng:

<tên đối tượng> = <tên lớp>([<danh sách tham số>])

b. Tham chiếu đến thuộc tính và phương thức

– Tham chiếu đến thuộc tính:

<tên đối tượng>.<tên thuộc tính>

– Tham chiếu đến phương thức:

<tên đối tượng>.<phương thức>()

c. Một số hàm khi làm việc với lớp

Hàm tả
 getattr(obj, name[, default])Lấy 1 thuộc tính của đối tượng, nếu đối tượng này không có thuộc tính đó thì giá trị trả về là default. Khi default không được truyền vào thì giá trị trả về là None.
 hasattr(obj, name)Kiểm tra thuộc tính có tồn tại trong đối tượng này hay không, nếu có thì trả về True và ngược lại.
 setattr(obj, name, value)Gán giá trị value cho thuộc tính trong đối tượng.
 delattr(obj, name)Xoá thuộc tính trong đối tượng.
Một số hàm làm việc với lớp

Lưu ý: name phải là kiểu xâu trong các hàm trên

4. Ví dụ về làm việc với class

class hocsinh:
    #Constructor – Hàm khởi tạo
    def __init__(self,hoten,dtoan,dvan):		
        self.hoten = hoten
        self.dtoan = dtoan
        self.dvan = dvan

    #Phương thức dtb tính điểm trung bình
    def dtb(self):
        return (self.dtoan + self.dvan)/2
    
    #Phương thức xuất ra màn hình một đối tượng
    def in_hs(self):
        print(self.hoten,self.dtoan,self.dvan)

#Tạo đối tượng hs từ lớp hocsinh
hs = hocsinh("Nguyen Minh Anh",9,8)

#Tham chiếu đến phương thức dtb
print("Trung bình điểm của",hs.hoten,"là",hs.dtb())

#Tham chiếu đến phương thức in_hs
hs.in_hs()

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *