Lập trình hướng đối tượng trong Python – Bài viết sưu tầm – Khoa Công nghệ thông tin – Đại học Duy Tân

Python là một ngôn ngữ lập trình hướng đối tượng. Do đó với những bạn đã học qua C++ chắc rằng đã khá quen thuộc với các khái niệm về hướng đối tượng này. Chương này sẽ trình bày sơ qua về các thuật ngữ liên quan đến hướng đối tượng cùng với các ví dụ minh họa giúp bạn dễ hiểu hơn về vấn đề đã trình bày.

Trong Python, lệnh class được sử dụng để tạo một lớp mới. Tên của lớp theo ngay sau từ khóa class và được theo sau bởi dấu hai chấm, như sau:

Dưới đây là ví dụ đơn giản về một lớp trong Python:

Để tạo các instance của một lớp, bạn gọi lớp này bởi sử dụng tên lớp và truyền vào bất kỳ tham số nào mà phương thức __init__ của nó chấp nhận. Bạn theo dõi ví dụ sau:

Bạn truy cập các thuộc tính của đối tượng bởi sử dụng toán tử dot (dấu chấm) với đối tượng. Biến class sẽ được truy cập bởi sử dụng tên lớp như sau:

Bây giờ đặt tất cả khái niệm cùng với nhau:

Khi code trên được thực thi sẽ cho kết quả:

Bạn có thể thêm, xóa, hoặc sửa đổi các thuộc tính của các lớp và đối tượng tại bất cứ thời điểm nào.

Thay vì sử dụng các lệnh chính thức để truy cập các thuộc tính, bạn có thể sử dụng các hàm sau:

Ví dụ:

Mỗi lớp Python đều giữ các thuộc tính đã được xây dựng sẵn sau và chúng có thể được truy cập bởi sử dụng toán tử dot (dấu chấm .) như bất kỳ thuộc tính khác:

Với lớp Sinhvien trên, chúng ta sẽ thử truy cập tất cả các thuộc tính này.

class

Sinhvien

:

'Class co so chung cho tat ca sinh vien'

svCount

=

0

def

__init__

(

self

,

ten

,

hocphi

):

self

.

ten

=

ten

self

.

hocphi

=

hocphi

Sinhvien

.

svCount

+=

1

def

displayCount

(

self

):

print

"Tong so Sinh vien %d"

%

Sinhvien

.

svCount

def

displaySinhvien

(

self

):

print

"Ten : "

,

self

.

ten

,

", Hoc phi: "

,

self

.

hocphi

print

"Sinhvien.__doc__:"

,

Sinhvien

.

__doc__

print

"Sinhvien.__name__:"

,

Sinhvien

.

__name__

print

"Sinhvien.__module__:"

,

Sinhvien

.

__module__

print

"Sinhvien.__bases__:"

,

Sinhvien

.

__bases__

print

"Sinhvien.__dict__:"

,

Sinhvien

.

__dict__