Python: Tạo Lớp và Đối tượng
Giới thiệu lớp và đối tượng
Lớp (Class) là một cấu trúc logic dùng để định nghĩa khuôn dạng và tính chất của các Đối tượng (Object).
Trong Python, lớp được định nghĩa như là một kiểu dữ liệu mới. Kiểu dữ liệu này được dùng để tạo các đối tượng có kiểu của nó. Mỗi đối tượng được tạo từ lớp sẽ chứa bản sao của chính nó bao gồm các thuộc tính được định nghĩa trong lớp. Các thuộc tính cũng được gọi là các trường và biểu diễn trạng thái của đối tượng. Việc khởi tạo các đối tượng được thực hiện bằng cách sử dụng các hàm tạo và hành vi của các đối tượng được định nghĩa bằng cách sử dụng các phương thức.
1. Tạo lớp (class)
Mỗi một đối tượng bao gồm 2 thành phần chính:
- Các thuộc tính: dùng để chứa các thông tin mô tả các đặc điểm của đối tượng. Ví dụ như một con mèo có những thông tin như mã nhận diện, tên, tuổi, màu lông, giới tính, ... Ta sử dụng các biến để lưu giữ những thông tin này, khi đó các biến được gọi là các thuộc tính hay biến thể hiện của đối tượng.
- Các phương thức: dùng để mô tả các hành vi của đối tượng. Ví dụ như một con mèo có các hành vi như di chuyển, tiếng kêu, săn mồi, ... Ta sử dụng các hàm để mô tả các hành vi này, khi đó các hàm được gọi là các phưng thức.
Để mô tả một nhóm các đối tượng cụ thể như nhóm mèo, nhóm chó, nhóm hổ, ... thì ta khai báo lớp tương ứng.
Việc tạo lớp phải được bắt đầu với từ khóa class và theo sau là tên lớp muốn tạo.
Bên cạnh đó, những quy ước sau đây ta cần phải chú ý khi đặt tên cho lớp:
- Tên lớp nên là một danh từ.
- Thường trong Python tên lớp được đặt với ký tự đầu tiên của mỗi từ là in hoa.
- Tên lớp nên đơn giản, mang tính mô tả, và đầy đủ ý nghĩa.
- Tên lớp không được là một từ khóa nào đó của Python.
- Tên lớp không được bắt đầu là số. Tuy nhiên, có thể bắt đầu với dấu dola ($) hoặc ký tự gạch dưới.
Cú pháp cơ bản để tạo một lớp trong Python là như sau:
//khai báo các thuộc tính
Trong đó thân_lớp có thể bao gồm các thành phần như các thuộc tính, phương thức, hàm tạo, các getter và setter.
Ví dụ dưới đây sẽ tạo một lớp có tên Animal bao gồm các thuộc tính và phương thức tương ứng để mô tả cho nhóm đối tượng Động vật nói chung.
File Animal.py:
#tạo lớp Animal: class Animal: #khai báo các thuộc tính: id=1234; #mã nhận diện name="Moon"; #tên age=1; #tuổi #định nghĩa các phương thức: def move(): System.out.println("Fly, Swim, Run, ..."); def speak(): System.out.println("Gogo, Meomeo, Grumgrum, ...");
Lưu ý: Trong một file .py ta được quyền tạo nhiều lớp.
2. Tạo đối tượng (object)
Đối tượng là thể hiện thực sự của lớp.
Cú pháp để khai báo và khởi tạo một đối tượng là như sau:
Ví dụ:
cat = Animal(); //tạo 1 đối tượng tên cat