பொருளடக்கம்[மறை][காட்டு]
டெவலப்பர்கள் மத்தியில், பொருள் சார்ந்த நிரலாக்கமானது கணிசமான பின்தொடர்பவர்களை ஈர்த்துள்ளது. பிரபலமான கணினி மொழியான பைதான் பொருள் சார்ந்த முன்னுதாரணத்தைப் பின்பற்றுகிறது.
இது பைத்தானில் பொருள்கள் மற்றும் வகுப்புகளை வரையறுக்கிறது, இது OOPs கொள்கைகளுக்கு அடிப்படையாக அமைகிறது. "பைத்தானில் பொருள் சார்ந்த நிரலாக்கம்" பற்றிய இந்த டுடோரியலில், பைதான் வகுப்புகளை எவ்வாறு அறிவிப்பது, அவற்றிலிருந்து பொருட்களை உருவாக்குவது மற்றும் நான்கு OOPகள் நுட்பங்களைப் பயன்படுத்துவது எப்படி என்பதை நீங்கள் கற்றுக் கொள்வீர்கள்.
எனவே, முதல் விஷயம் முதலில்.
பொருள் சார்ந்த நிரலாக்கம் என்றால் என்ன?
பொருள் சார்ந்த நிரலாக்கத்தின் (OOP) முக்கிய கவனம் "பொருள்கள்" உருவாக்கம் ஆகும். ஒன்றோடொன்று இணைக்கப்பட்ட மாறிகள் மற்றும் செயல்பாடுகளின் தொகுப்பு ஒரு பொருளை உருவாக்குகிறது.
இந்த மாறிகள் அடிக்கடி பொருளின் பண்புக்கூறுகள் என குறிப்பிடப்படுகின்றன, மேலும் அதன் நடத்தைகள் அடிக்கடி அதன் செயல்பாடுகளாக குறிப்பிடப்படுகின்றன. இந்த உருப்படிகள் பயன்பாட்டை மிகவும் பயனுள்ள மற்றும் புரிந்துகொள்ளக்கூடிய கட்டமைப்பை வழங்குகின்றன. ஒரு ஆட்டோமொபைல் என்பது ஒரு பொருளின் உதாரணம்.
ஆட்டோமொபைல் ஒரு பொருளாக இருந்தால், அதன் பண்புக்கூறுகள் அதன் நிறம், மாடல், விலை, பிராண்ட் போன்றவற்றை உள்ளடக்கியிருக்கும். கூடுதலாக, அது வேகத்தை அதிகரிக்கும், வேகத்தைக் குறைத்து, கியர்களை மாற்றும்.
மற்றொரு உதாரணம்: நாயை ஒரு பொருளாக நாம் நினைத்தால், அதன் சில குணாதிசயங்கள் நிறம், இனம், பெயர், எடை போன்றவையாக இருக்கலாம். மேலும் அவர் அங்குமிங்கும், குரைத்து, விளையாடிக்கொண்டே இருப்பார்.
பொருள்கள், மறைத்தல், பரம்பரை போன்ற நிஜ உலகக் கருத்துகளை நிரலாக்கத்தில் உள்ளடக்கியதால், பொருள் சார்ந்த நிரலாக்கம் நன்கு அறியப்பட்டதாகும். இது நிஜ உலக சூழ்நிலைகளுக்கு மிகவும் ஒத்திருப்பதால், காட்சிப்படுத்தல் எளிமைப்படுத்தப்பட்டுள்ளது.
பொருள் சார்ந்த நிரலாக்க கருத்துக்கள்
பைத்தானில் வகுப்புகள் & பொருள்கள்
மற்ற அனைத்து பொருள் சார்ந்த மொழிகளைப் போலவே, பொருட்களை உருவாக்க வகுப்புகளை வடிவமைக்க பைதான் உங்களுக்கு உதவுகிறது. பைத்தானில் உள்ள மிகவும் பிரபலமான தரவு வகைகள், சரங்கள், பட்டியல்கள், அகராதிகள் மற்றும் பிற பொருள்கள், உள்ளமைக்கப்பட்ட வகுப்புகள்.
ஒரு வகுப்பு என்பது ஒரு குறிப்பிட்ட வகையான பொருளை வரையறுக்கும் இணைக்கப்பட்ட முறைகள் மற்றும் நிகழ்வு மாறிகளின் குழுவாகும். ஒரு பொருளின் மாதிரி அல்லது வார்ப்புருவாக ஒரு வர்க்கம் பார்க்கப்படலாம். ஒரு வகுப்பை உருவாக்கும் மாறிகள் பண்புக்கூறுகள் எனப்படும்.
ஒரு பொருள் என்பது வரையறுக்கப்பட்ட பண்புக்கூறுகளைக் கொண்ட ஒரு வகுப்பின் உறுப்பினர். இதன் காரணமாக, ஒரே வகுப்பைப் பயன்படுத்தி எத்தனை பொருட்களை வேண்டுமானாலும் உருவாக்கலாம்.
பைதான் வகுப்புகள் வர்க்கம் என்ற சொல்லைப் பயன்படுத்தி வரையறுக்கப்படுகின்றன, அதன்பின் வர்க்கப் பெயர் மற்றும் பெருங்குடல். ஒரு கிளி வகுப்பின் விளக்கம்:
இங்கே, கிளாஸ் கீவேர்டைப் பயன்படுத்தி வெற்று கிளாஸ் கிளியை அறிவிக்கிறோம். வகுப்புகளிலிருந்து நிகழ்வுகளை உருவாக்குகிறோம். ஒரு உதாரணம் என்பது ஒரு குறிப்பிட்ட வகுப்பிலிருந்து உருவாக்கப்பட்ட ஒரு குறிப்பிட்ட பொருள். 'பாஸ்' என்பது குறியீட்டிற்கான ஸ்டாண்ட்-இன் ஆக அடிக்கடி பயன்படுத்தப்படுகிறது, அதன் செயலாக்கத்தை நாம் இப்போதைக்கு கைவிடலாம். “பாஸ்” கீவேர்டைப் பயன்படுத்தி பைதான் குறியீட்டை பிழையின்றி இயக்கலாம்.
ஒரு வகுப்பின் உடனடி முடிவு ஒரு பொருளில் (உதாரணமாக) விளைகிறது. ஒரு வர்க்கம் உருவாக்கப்படும் போது பொருளின் விளக்கம் மட்டுமே வரையறுக்கப்படுகிறது. இதன் விளைவாக, சேமிப்பு அல்லது ரேம் ஒதுக்கப்படவில்லை.
கிளி வகுப்பு பொருளின் எடுத்துக்காட்டு:
Obj இந்த நிகழ்வில் ஒரு கிளி-வகுப்பு பொருள்.
கிளிகளைப் பற்றிய விவரங்கள் நமக்குத் தெரியும் என்று வைத்துக்கொள்வோம். கிளி வகுப்பையும் அதன் பொருட்களையும் எவ்வாறு உருவாக்குவது என்பதை இப்போது காண்பிப்போம்.
சிறப்பு முறை (__init__)
init எனப்படும் முறையானது, ஒவ்வொரு கிளிப் பொருளுக்கும் () இருக்க வேண்டிய பண்புகளை வரையறுக்கிறது. ஒரு புதிய Parrot ஆப்ஜெக்ட் உருவாகும்போது, __init__ செயல்பாடானது பொருளின் பண்புகளுக்குள் நாம் வழங்கும் மதிப்புகளை ஒதுக்குவதன் மூலம் பொருளின் ஆரம்ப நிலையை உருவாக்குகிறது.
எனவே, வகுப்பின் ஒவ்வொரு புதிய நிகழ்வும் __init__() ஐப் பயன்படுத்தி துவக்கப்படுகிறது. __init__() எத்தனை அளவுருக்களையும் ஏற்க முடியும் என்றாலும், சுயமே எப்போதும் முதல் அளவுருவாகும்.
செயலில் உள்ள வர்க்க நிகழ்வுக்கான குறிப்பு சுய வாதத்தில் சேர்க்கப்பட்டுள்ளது. ஒரு வகுப்பின் தற்போதைய பொருளின் முகவரியுடன் இணைக்கும் மற்றும் அதன் (பொருளின்) மாறிகளின் தரவுக்கான அணுகலை வழங்கும் சுய அளவுரு, அதைக் குறிக்கிறது.
எடுத்துக்காட்டாக 1
மேலே உள்ள குறியீட்டில் கிளி என்ற வகுப்பை நிறுவினோம். அடுத்து, பண்புகள் வரையறுக்கப்படுகின்றன. ஒரு பொருளின் பண்புகள் அதன் பண்புகள். வகுப்பின் __init__ செயல்பாடு என்பது இந்த பண்புகள் குறிப்பிடப்பட்ட இடத்தில் உள்ளது.
ஒரு பொருள் உருவாகும் போது, இன்ஷியலைசர் முறையானது ஆரம்பத்தில் அழைக்கப்படுகிறது. பின்னர், கிளி வகுப்பின் நிகழ்வுகள் உருவாக்கப்படுகின்றன. இந்த நிகழ்வில் பிளேஸ் மற்றும் வோண்டா ஆகியவை நமது புதிய பொருள்களுக்கான குறிப்புகள் (மதிப்புகள்). __class .species ஆனது class பண்புக்கூறை அணுக அனுமதிக்கிறது.
ஒரு வகுப்பின் ஒவ்வொரு நிகழ்வும் ஒரே பண்புகளைக் கொண்டுள்ளது. நிகழ்வின் பண்புகளை blaz.name மற்றும் blaz.age ஆகியவற்றைப் பயன்படுத்தி அணுகலாம். ஒரு வகுப்பின் அனைத்து நிகழ்வுகளும் தனித்துவமான நிகழ்வு பண்புகளைக் கொண்டுள்ளன.
எடுத்துக்காட்டாக 2
முறைகள்
ஒரு வகுப்பின் உடலுக்குள் வரையறுக்கப்பட்ட செயல்பாடுகள் முறைகள் எனப்படும். ஒரு உருப்படி எவ்வாறு செயல்படும் என்பதைக் குறிப்பிட அவர்கள் பயன்படுத்தப்படுகிறார்கள்.
பாடு() மற்றும் நடனம் ஆகிய இரண்டு முறைகள் மேற்கூறிய பயன்பாட்டில் () வரையறுக்கப்பட்டுள்ளன. சுடர் போன்ற ஒரு நிகழ்வுப் பொருளில் அவை செயல்படுத்தப்படுவதால், இவை நிகழ்வு முறைகள் என்று குறிப்பிடப்படுகின்றன.
OOPS கருத்தின் அடிப்படைகள்
பொருள் சார்ந்த நிரலாக்கத்தின் நான்கு முக்கிய யோசனைகள்:
- வாரிசு உரிமை
- என்காப்சுலேசன்
- பல்லுருவத்தோற்றத்தையும்
- அப்ஸ்ட்ராக்ஷன்
வாரிசு உரிமை
புதிதாகப் பிறந்த குழந்தைகளிடம், அவர்கள் பெற்றோரின் முகப் பண்புகளை ஒத்திருப்பதாக அல்லது அவர்கள் பெற்றோரிடமிருந்து குறிப்பிட்ட பண்புகளைப் பெற்றிருக்கிறார்கள் என்று அடிக்கடி கூறுகிறார்கள்.
உங்கள் பெற்றோருடன் சில குணாதிசயங்களைப் பகிர்ந்து கொள்வதையும் நீங்கள் கவனித்திருக்கலாம். நிஜ-உலகச் சூழ்நிலையும் பரம்பரையைப் போலவே உள்ளது.
இருப்பினும், இந்த வழக்கில், "பெற்றோர் வகுப்புகள்" பண்புகள் "குழந்தை வகுப்புகளுக்கு" அனுப்பப்படுகின்றன. இந்த சூழலில் இந்த அம்சங்கள் "பண்புகள்" மற்றும் "முறைகள்" என குறிப்பிடப்படுகின்றன.
பரம்பரை எனப்படும் நுட்பத்தைப் பயன்படுத்தி ஒரு வர்க்கம் அதன் முறைகள் மற்றும் பண்புகளை மற்றொரு வகுப்பிலிருந்து பெறலாம். பரம்பரை என்பது ஒரு குழந்தை வர்க்கம் பெற்றோர் வகுப்பின் பண்புகளைப் பெறும் செயல்முறையாகும்.
உதாரணமாக:
மேலே உள்ள எடுத்துக்காட்டில் குழந்தை வகுப்பு பையனால் பெற்றோர் வகுப்பு மனித மரபுரிமை பெறப்படுகிறது. பையன் மனிதனிடமிருந்து மரபுரிமையாக இருப்பதால், பாய் வகுப்பின் நிகழ்வை உருவாக்கும் போது அதன் அனைத்து முறைகள் மற்றும் பண்புக்கூறுகளை அணுகலாம்.
பாய் வகுப்பில், schoolName என்ற முறையும் வரையறுக்கப்பட்டுள்ளது. பெற்றோர் வகுப்பு பொருளால் schoolName என்ற முறையை அணுக முடியவில்லை. இருப்பினும், குழந்தை வகுப்பு பொருளை (பாய்) உருவாக்குவதன் மூலம் பள்ளி பெயர் முறையை அழைக்கலாம்.
என்காப்சுலேசன்
வகுப்புகளுடன் பணிபுரியும் போது மற்றும் முக்கியத் தரவைக் கையாளும் போது நிரலில் உள்ள ஒவ்வொரு மாறிக்கும் உலகளாவிய அணுகலை வழங்குவது புத்திசாலித்தனமான நடவடிக்கை அல்ல.
நிரலுக்கு அந்த மாறிகள் எதற்கும் முழுமையான அணுகலை வழங்காமல், தேவையான மாறிகளைப் பெறுவதற்கான ஒரு பொறிமுறையை இணைக்கிறது.
இந்த நோக்கத்திற்காக வெளிப்படையாக வரையறுக்கப்பட்ட முறைகள் மாறிகளில் இருந்து தரவைப் புதுப்பிக்க, திருத்த அல்லது நீக்க பயன்படுத்தப்படலாம். இந்த நிரலாக்க முறை மேம்பட்ட பாதுகாப்பு மற்றும் தரவு உள்ளீட்டின் மீதான கட்டுப்பாட்டின் நன்மைகளைக் கொண்டுள்ளது.
கீழே உள்ள ஆர்ப்பாட்டத்தில் மாறிகள் எவ்வளவு விரைவாக அணுக முடியும் என்பதைப் பார்க்கவும்:
பல்லுருவத்தோற்றத்தையும்
உலாவ உங்கள் தொலைபேசியைப் பயன்படுத்துகிறீர்கள் என்று வைத்துக்கொள்வோம் Instagram ஊட்டங்கள். சில இசையைக் கேட்க வேண்டும் என்ற ஆவல் உங்களுக்கு ஏற்பட்டபோது, Spotifyஐ அணுகி உங்களுக்குப் பிடித்த பாடலைப் பாடத் தொடங்கியுள்ளீர்கள்.
சிறிது நேரத்திற்குப் பிறகு, உங்களுக்கு அழைப்பு வந்ததால், அதற்குப் பதிலளிக்க நீங்கள் பின்னணியில் என்ன செய்து கொண்டிருந்தீர்கள் என்பதை இடைநிறுத்தியுள்ளீர்கள். உங்கள் நண்பர் அழைத்து, குறிப்பிட்ட நபரின் தொலைபேசி எண்ணை அவர்களுக்கு அனுப்புமாறு கோரினார்.
எனவே நீங்கள் அவருக்கு எஸ்எம்எஸ் மூலம் தொலைபேசி எண்ணை அனுப்பி உங்கள் பணிகளைச் செய்துகொண்டீர்கள். நீங்கள் எதையாவது எடுத்தீர்களா? ஒரே ஒரு சாதனத்தில்—உங்கள் மொபைல் ஃபோன்—நீங்கள் ஊட்டங்கள் மூலம் உலாவலாம், இசையைக் கேட்கலாம், ஃபோன் அழைப்புகளை மேற்கொள்ளலாம் மற்றும் செய்தி அனுப்பலாம்.
எனவே, பாலிமார்பிசம் அதனுடன் ஒப்பிடத்தக்கது. பாலி என்பது பல என்று பொருள், மற்றும் மார்பு என்பது வெவ்வேறு வடிவங்களைக் குறிக்கிறது. எனவே, பாலிமார்பிசம் என்பது பல்வேறு வடிவங்களைக் கொண்ட ஒன்றைக் குறிக்கிறது.
அல்லது "ஏதாவது", சூழ்நிலையைப் பொறுத்து, பல்வேறு நடத்தைகளை வெளிப்படுத்தலாம். OOPS இல், பாலிமார்பிசம் அதே பெயர்களைக் கொண்ட செயல்பாடுகளை விவரிக்கிறது ஆனால் தனித்துவமான நடத்தைகள். மாற்றாக, அதே செயல்பாட்டுப் பெயருடன் வேறுபட்ட செயல்பாட்டு கையொப்பம் (செயல்பாட்டிற்கு அனுப்பப்பட்ட அளவுருக்கள்).
உதாரணமாக:
இங்கே, வரிக்குதிரை மற்றும் முயலின் பொருள்கள் முழுவதும், அந்தந்த நிகழ்வு முறைகளைப் பயன்படுத்தி, மாறி விலங்கைப் பயன்படுத்தலாம். இதன் விளைவாக, வரிக்குதிரை மற்றும் முயல் இரண்டின் நடத்தை (நிறம்() & ஈட்ஸ்()) இங்கு விலங்கு எனப்படும் ஒற்றை மாறி மூலம் குறிப்பிடப்படுகிறது. எனவே இது பாலிமார்பிசம் விதிகளை கடைபிடிக்கிறது.
அப்ஸ்ட்ராக்ஷன்
இந்த உள்ளடக்கத்தைப் படிக்க நீங்கள் பெரும்பாலும் லேப்டாப், ஃபோன் அல்லது டேப்லெட்டைப் பயன்படுத்தலாம். அதைப் படிக்கும் போது, நீங்கள் மறைமுகமாக குறிப்புகளை எடுத்துக்கொள்கிறீர்கள், முக்கிய பத்திகளை அடிக்கோடிட்டுக் கொண்டிருக்கிறீர்கள் மற்றும் உங்கள் தனிப்பட்ட கோப்புகளில் சில தகவல்களைச் சேமித்து வைத்திருக்கலாம்.
நீங்கள் இதைப் படிக்கும்போது உங்களுக்குக் காட்டப்படும் தரவுகளுடன் கூடிய "திரை" மட்டுமே தெரியும். நீங்கள் தட்டச்சு செய்யும் போது விசைப்பலகையின் விசைகளை நீங்கள் பார்க்கிறீர்கள், எனவே ஒரு விசையை அழுத்துவது எப்படி அந்த வார்த்தை திரையில் தோன்றும் போன்ற உள் நுணுக்கங்களைப் பற்றி நீங்கள் கவலைப்பட வேண்டியதில்லை.
மாற்றாக, உங்கள் திரையில் உள்ள பொத்தானை அழுத்துவதன் மூலம் புதிய தாவலைத் தொடங்குவது எப்படி.
எனவே, இந்த சூழ்நிலையில் நாம் கவனிக்கக்கூடிய அனைத்தும் சுருக்கமானவை. அது உருவாக்கும் முடிவை மட்டுமே நாம் பார்க்க முடியும், உள்ளே உள்ள நுணுக்கங்களை அல்ல (இது உண்மையில் நமக்கு முக்கியமானது).
இதைப் போலவே, சுருக்கமானது எந்தவொரு செயலாக்கங்களையும் அல்லது உள் விவரங்களையும் மறைக்கும் போது அனைத்தும் கொண்டிருக்கும் செயல்பாடுகளை மட்டுமே வெளிப்படுத்துகிறது.
சுருக்கத்தின் முக்கிய நோக்கம் பின்னணி தகவல் மற்றும் எந்தவொரு வெளிப்புற தரவு செயலாக்கத்தையும் மறைப்பதாகும், இதனால் மக்கள் அவர்கள் பார்க்க வேண்டியதை மட்டுமே பார்க்கிறார்கள். இது குறியீட்டின் சிக்கலான தன்மையை நிர்வகிக்க உதவுகிறது.
உதாரணமாக:
வாகனம் தொடர்பான சுருக்க வகுப்பு இங்கே உள்ளது. இது ABC என்ற சுருக்க வகுப்பிலிருந்து பெறுவதால், இது சுருக்கமானது. சுருக்க முறைகள் வரையறுக்கப்படாததால் அல்லது காலியாக இருப்பதால், வகுப்பு வாகனம் ஒரு வரையறை இல்லாத சக்கரங்களின் எண்ணிக்கை எனப்படும் சுருக்க முறை உள்ளது.
முறையின் செயலாக்கத்தை வழங்க சுருக்க வகுப்புகளைப் பெறுகின்ற வகுப்புகளை அவர்கள் எதிர்பார்க்கிறார்கள்.
OOPS கருத்துகளின் நன்மைகள்
- இணைப்பதன் மூலம், உயர் பாதுகாப்பு மற்றும் தரவு தனியுரிமை அடையப்படுகிறது.
- ஒரே வகுப்பின் பல பாலிமார்பிக் பதிப்புகளைக் கொண்டிருப்பதில் நெகிழ்வுத்தன்மை.
- குறியீட்டின் சிக்கலான உயர் நிலை சுருக்கத்தால் குறைக்கப்பட்டது.
- ஒரு சிக்கலைக் கண்டறிவதற்கு நூற்றுக்கணக்கான கோடுகளின் குறியீட்டைப் பிரிப்பதற்குப் பதிலாக, நிரலாக்கத்தின் மட்டுத்தன்மை பிழைத்திருத்தத்தை எளிதாக்குகிறது.
- குறியீட்டு மறுபயன்பாடு என்பது குழந்தை வகுப்பின் பெற்றோர் வர்க்கப் பண்புகளின் மரபுரிமையால் ஏற்படுகிறது.
- ஒவ்வொரு சிறு பிரச்சனைக்கும் தேவையான செயல்களைச் செய்யும் வகுப்புகளை உருவாக்குவதால், பயனுள்ள சிக்கலைத் தீர்ப்பது சாத்தியமாகும். நாம் அந்த வகுப்புகளை மீண்டும் பயன்படுத்த முடியும் என்பதால் பின்வரும் பிரச்சனை இன்னும் விரைவாக தீர்க்கப்படும்.
தீர்மானம்
முடிவில், இப்போது வெப்பமான நிரலாக்க முன்னுதாரணமான பைத்தானில் OOPS ஐடியாக்களைப் பற்றி அறிந்தோம்.
இதைப் படித்த பிறகு, OOPS முன்னுதாரணம் முற்றிலும் வகுப்புகள் மற்றும் பொருள்களின் யோசனையைக் கையாள்கிறது என்பதை நீங்கள் உணர்ந்திருக்க வேண்டும். மற்றும் OOPS கருத்தாக்கங்களான encapsulation, polymorphism, inheritance, and abstraction.
ஒரு பதில் விடவும்