Computer >> Máy Tính >  >> Lập trình >> Python

Phương thức Getters / Setters cho Lớp Python là gì?


Getters và setters được sử dụng trong nhiều ngôn ngữ lập trình hướng đối tượng để đảm bảo nguyên tắc đóng gói dữ liệu. Chúng cũng được gọi là phương pháp đột biến. Tính năng đóng gói dữ liệu được coi là gói dữ liệu với các phương thức hoạt động trên những dữ liệu này. Tất nhiên, các phương thức này là getter để truy xuất dữ liệu và setter để thay đổi dữ liệu. Theo nguyên tắc này, các thuộc tính của một lớp được đặt ở chế độ riêng tư để ẩn và bảo vệ chúng khỏi mã khác.

Thật không may, người ta tin rằng một lớp Python thích hợp nên đóng gói các thuộc tính private bằng cách sử dụng getters và setters. Sử dụng getters và setters không phải là dễ dàng và thanh lịch. Cách pythonic để làm điều này là sử dụng các thuộc tính hoặc một lớp có thuộc tính. Phương thức được sử dụng để nhận giá trị được trang trí bằng "@property". Phương thức có chức năng như bộ định vị được trang trí bằng "@ x.setter".

Ví dụ

Ví dụ về việc sử dụng getters và setters như sau

class P:
    def __init__(self,x):        
         self.__set_x(x)
    def __get_x(self):        
        return self.__x
    def __set_x(self, x):  
         if x < 0:            
           self.__x = 0  
        elif x > 1000:            
           self.__x = 1000        
        else:      
          self.__x = x
    x = property(__get_x, __set_x)