Introducere
În Python, o metodă privată este o metodă care nu este destinată să fie utilizată în afara clasei în care este definită. Aceste metode sunt notate printr-un prefix dublu de subliniere (__) înaintea numelui lor și pot fi accesate numai în cadrul clasei în care sunt definite. În acest articol, vom discuta despre conceptul de metode private în Python, avantajele și dezavantajele acestora și cum să le folosim cu exemple.
Ce este o metodă privată în Python?
O metodă privată este o metodă care nu este destinată să fie utilizată în afara clasei în care este definită. Aceste metode sunt folosite pentru a implementa funcționalitatea internă în cadrul clasei. Acestea nu sunt menite să fie folosite de cod extern. În Python, metodele private sunt notate printr-un prefix dublu de subliniere înaintea numelui lor.
Exemplu
__method_name
Cum se definește o metodă privată în Python?
Când programatorul dorește să definească o metodă privată în Python, atunci programatorul trebuie să adauge un prefix dublu de subliniere înaintea numelui metodei. Iată un exemplu:
Programul 1:
class MyClass: def __init__(self): self.__private_method() def __private_method(self): print('This is a private method.') # Instantiate, the class my_obj = MyClass()
Ieșire:
Explicaţie:
În exemplul de mai sus, am definit o clasă numită MyClass. Are o metodă privată numită __private_method. Această metodă este apelată de la constructorul de clasă (__init__) folosind self.__private_method(). Deoarece metoda are un prefix dublu de subliniere, este privată și nu poate fi accesată în afara clasei.
gimp cum să deselectezi
Programul 2:
class BankAccount: def __init__(self, account_number, balance): self.__account_number = account_number self.__balance = balance def deposit(self, amount): self.__balance += amount def withdraw(self, amount): if self.__balance >= amount: self.__balance -= amount else: print('Insufficient funds') def __display_balance(self): print('Account Balance:', self.__balance) def statement(self): print('Account Number:', self.__account_number) self.__display_balance() # create a BankAccount object my_account = BankAccount('123456789', 1000) # make some transactions my_account.deposit(500) my_account.withdraw(200) # print a statement my_account.statement()
Ieșire:
Explicaţie:
Codul furnizat definește o clasă BankAccount cu metode de depunere și retragere a fondurilor, afișarea soldului contului și tipărirea unui extras de cont. O instanță a acestei clase este apoi creată și unele tranzacții sunt efectuate către aceasta, urmate de tipărirea unei declarații.
Avantajele metodelor private în Python
Dezavantajele metodelor private în Python
Concluzie
Metodele private din Python sunt o caracteristică utilă care poate ajuta la realizarea încapsulării și la îmbunătățirea mentenanței codului. Deși au unele dezavantaje, beneficiile utilizării metodelor private în Python depășesc dezavantajele.