ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ (OOP) అనేది డేటా మరియు ప్రవర్తనను సంగ్రహించే వస్తువుల భావన చుట్టూ తిరిగే ప్రోగ్రామింగ్ నమూనా. పైథాన్ OOPకి మద్దతు ఇస్తుంది మరియు ఆబ్జెక్ట్-ఓరియెంటెడ్ డిజైన్లను అమలు చేయడానికి అనేక రకాల ఫీచర్లు మరియు సామర్థ్యాలను అందిస్తుంది...
పైథాన్లో OOP యొక్క కొన్ని ముఖ్య భావనలు ఇక్కడ ఉన్నాయి:
- తరగతులు: తరగతి అనేది వస్తువులను రూపొందించడానికి ఒక బ్లూప్రింట్. ఇది ఆ తరగతికి చెందిన వస్తువుల లక్షణాలను (డేటా) మరియు పద్ధతులను (ప్రవర్తన) నిర్వచిస్తుంది. పైథాన్లో తరగతిని సృష్టించడానికి, మీరు
class
కీవర్డ్ని, తర్వాత తరగతి పేరును ఉపయోగించండి.
ఉదాహరణ:
కొండచిలువclass Person:
def __init__(self, name, age):
self.name = name
self.age = age
def say_hello(self):
print(f"Hello, my name is {self.name} and I'm {self.age} years old.")
- వస్తువులు: ఆబ్జెక్ట్ అనేది తరగతికి సంబంధించిన ఉదాహరణ. ఇది తరగతిలో నిర్వచించబడిన డేటా యొక్క స్వంత కాపీని కలిగి ఉంటుంది మరియు తరగతి పద్ధతులను యాక్సెస్ చేయగలదు. పైథాన్లో ఆబ్జెక్ట్ను సృష్టించడానికి, మీరు క్లాస్ని ఫంక్షన్గా పిలుస్తారు, ఏదైనా అవసరమైన ఆర్గ్యుమెంట్లలో పాస్ చేస్తారు.
ఉదాహరణ:
తయారుచేయుperson1 = Person("John", 30)
person1.say_hello() # Output: "Hello, my name is John and I'm 30 years old."
- వారసత్వం: వారసత్వం అనేది ఇప్పటికే ఉన్న తరగతి ఆధారంగా కొత్త తరగతిని నిర్వచించడానికి మిమ్మల్ని అనుమతించే మెకానిజం. కొత్త తరగతి ఇప్పటికే ఉన్న తరగతి యొక్క లక్షణాలు మరియు పద్ధతులను వారసత్వంగా పొందుతుంది మరియు దాని స్వంత కొత్త లక్షణాలను మరియు పద్ధతులను జోడించవచ్చు. పైథాన్లో సబ్క్లాస్ని సృష్టించడానికి, మీరు ఇప్పటికే ఉన్న క్లాస్ నుండి వారసత్వంగా పొందే కొత్త క్లాస్ని నిర్వచించండి.
ఉదాహరణ:
కొండచిలువclass Student(Person):
def __init__(self, name, age, major):
super().__init__(name, age)
self.major = major
def say_hello(self):
print(f"Hello, my name is {self.name}, I'm {self.age} years old, and my major is {self.major}.")
- ఎన్క్యాప్సులేషన్: ఎన్క్యాప్సులేషన్ అనేది బయటి కోడ్ నుండి తరగతి అమలు వివరాలను దాచే పద్ధతి. ఇది ప్రైవేట్ మరియు రక్షిత లక్షణాలు మరియు పద్ధతులను ఉపయోగించడం ద్వారా పైథాన్లో సాధించబడుతుంది. ప్రైవేట్ లక్షణాలు మరియు పద్ధతులు రెండు ప్రముఖ అండర్స్కోర్లతో నిర్వచించబడతాయి (
__
), అయితే రక్షిత లక్షణాలు మరియు పద్ధతులు ఒక ప్రముఖ అండర్స్కోర్తో నిర్వచించబడతాయి (_
).
ఉదాహరణ:
రూబీ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 amount > self._balance:
raise ValueError("Insufficient balance")
self._balance -= amount
- పాలీమార్ఫిజం: వివిధ తరగతుల వస్తువులను పరస్పరం మార్చుకునే సామర్థ్యాన్ని పాలిమార్ఫిజం అంటారు. ఇది వారసత్వం మరియు ఓవర్రైడింగ్ పద్ధతులను ఉపయోగించడం ద్వారా పైథాన్లో సాధించబడుతుంది. ఒక సబ్క్లాస్ సూపర్క్లాస్లోని పద్ధతి వలె అదే పేరుతో పద్ధతిని నిర్వచించినట్లయితే, సబ్క్లాస్ యొక్క వస్తువుపై పద్ధతిని అమలు చేసినప్పుడు సబ్క్లాస్ పద్ధతి అంటారు.
ఉదాహరణ:
scssdef print_person(person):
person.say_hello()
person1 = Person("John", 30)
student1 = Student("Jane", 20, "Computer Science")
print_person(person1) # Output: "Hello, my name is John and I'm 30 years old."
print_person(student1) # Output: "Hello, my name is Jane, I'm 20 years old, and my major is Computer Science."
ఇవి పైథాన్లోని ఆబ్జెక్ట్-ఓరియెంటెడ్ కాన్సెప్ట్లు మరియు ఫీచర్లకు కొన్ని ఉదాహరణలు మాత్రమే. ఈ కాన్సెప్ట్లు మరియు టెక్నిక్లను మాస్టరింగ్ చేయడం ద్వారా, మీరు మరింత మాడ్యులర్, ఫ్లెక్సిబుల్ మరియు మెయింటెనబుల్ కోడ్ను సృష్టించవచ్చు మరియు మరింత అధునాతన అప్లికేషన్లను రూపొందించవచ్చు....