Python: Từ khóa self


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Python cung cấp từ khóa 'self' cho phép ta có thể sử dụng trong phương thức hoặc hàm tạo để tham chiếu tới đối tượng hiện thời, đó là đối tượng gọi tới phương thức hay hàm tạo. Bất kỳ một thành phần nào của đối tượng hiện thời đều có thể được tham chiếu từ bên trong một phương thức hoặc một hàm tạo bằng cách sử dụng từ khóa 'self'.

Ta bắt buộc phải dùng từ khóa self khi gọi tới các thuộc tính và phương thức của lớp.

Từ khóa self cũng bắt buộc phải có mặt trong danh sách tham số của phương thức của lớp.

Ví dụ, xét phương thức calcArea() trong đoạn mã dưới đây:

class Circle:
  area=0; #biến lưu trữ diện tích hình tròn

  #phải có từ khóa self trong danh sách tham số
  #của phương thức, dù danh sách tham số trống
  def getPI(self):
    return 3.14

  def calcArea(self,rad):
    self.area = self.getPI() * rad * rad
    print("Area:",self.area)

#tạo 1 đối tượng mới:
cir = Circle()
cir.calcArea(5)

Kết quả:

Area: 78.5

Lưu ý rằng ta sử dụng self để chỉ ra đối tượng hiện thời, là đối tượng gọi tới phương thức calArea().

Từ khóa 'self' còn được sử dụng để giải quyết vấn đề xung đột tên khi tên của tham số giống với tên của thuộc tính như đoạn mã sau:

class Circle:
  rad=0 # dòng 1
  PI=3.14

  def __init__(self,rad): #dòng 2
    self.rad = rad #dòng 3

Đoạn mã trên định nghĩa hàm tạo __init__() với một tham số có tên là rad ở dòng 2. Như vậy thì tham số này có tên trùng với tên thuộc tính được khai báo ở dòng 1, mà giá trị sẽ được gán khi thực thi chương trình. Việc trùng tên này sẽ không gặp vấn đề gì bởi dòng 3 đã phân biệt được 2 tên này bằng việc dùng từ khóa self: this.rad = rad.

» Tiếp: Getter và Setter
« Trước: Hàm tạo (Constructor)
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!