د پراختیا کونکو په مینځ کې ، د اعتراض پراساس برنامه د پام وړ تعقیب راجلب کړې. د کمپیوټر مشهوره ژبه Python په ورته ډول د اعتراض پر بنسټ تمثیل ته غاړه ایږدي.
دا په Python کې د شیانو او ټولګیو تعریف کولو سره معامله کوي، کوم چې د OOPs اصولو اساس جوړوي. په دې ټیوټوریل کې "په Python کې د اعتراض پر بنسټ پروګرامونه"، تاسو به زده کړئ چې څنګه د Python ټولګي اعلان کړئ، له دوی څخه شیان جوړ کړئ، او د OOPs څلور تخنیکونه وکاروئ.
نو، لومړی شی لومړی.
د اعتراض پر بنسټ پروګرام کول څه شی دی؟
د اعتراض پر بنسټ پروګرامونو (OOP) اصلي تمرکز د "شیانو" جوړول دي. د یو بل سره تړلي متغیرات او افعال ټولګه یو څیز جوړوي.
دا متغیرات په مکرر ډول د څیز د ځانګړتیاو په توګه راجع کیږي ، او د هغې چلندونه په مکرر ډول د هغې دندو په توګه راجع کیږي. دا توکي غوښتنلیک د ډیر اغیزمن او د پوهیدو وړ جوړښت سره چمتو کوي. یو موټر د یو توکي مثال دی.
که چیرې موټر یو شی و، نو د هغې ځانګړتیاو کې به شیان شامل وي لکه رنګ، ماډل، قیمت، برانډ او نور. سربیره پردې، دا به ګړندی، ورو، او ګیرونه بدل کړي.
بله بېلګه: که موږ سپي ته د توکي په توګه فکر وکړو، نو د هغې ځینې ځانګړتیاوې رنګ، نسل، نوم، وزن او داسې نور وي، او هغه به حرکت کوي، خندل، لوبې کوي.
ځکه چې دا د حقیقي نړۍ مفکورې لکه توکي، پټول، میراث، او نور په پروګرام کولو کې شاملوي، د اعتراض پر بنسټ پروګرامونه ښه پیژندل شوي. ځکه چې دا د ریښتینې نړۍ شرایطو سره ورته دی، لید ساده شوی.
د اعتراض پر بنسټ د پروګرام کولو مفهوم
په Python کې ټولګي او توکي
د نورو ټولو څیزونو په څیر ژبو په څیر، Python تاسو ته وړتیا درکوي د شیانو تولید لپاره ټولګي ډیزاین کړئ. په پایتون کې د ډیټا خورا مشهور ډولونه ، پشمول تارونه ، لیستونه ، قاموسونه او نور توکي ، په ټولګیو کې جوړ شوي دي.
ټولګي د تړلو میتودونو او د مثال متغیرونو یوه ډله ده چې یو ځانګړی ډول تعریفوي. یو ټولګي کیدای شي د یو شی لپاره د ماډل یا ټیمپلیټ په توګه ولیدل شي. هغه متغیرونه چې ټولګي جوړوي د ځانګړتیاوو په نوم پیژندل کیږي.
یو څیز د ټولګي غړی دی چې د ځانګړتیاو ټاکل شوي سیټ لري. د دې له امله ، د ورته ټولګي په کارولو سره هر ډول توکي رامینځته کیدی شي.
د Python ټولګي د کلاس کلمې په کارولو سره تعریف شوي، چې بیا وروسته د ټولګي نوم او کولن تعقیب کیږي. د طوطي ټولګي یوه بیلګه کیدای شي دا وي:
دلته، موږ د کلاس کلیدي کلمې په کارولو سره د خالي ټولګي پارټ اعلان کوو. موږ د ټولګیو څخه مثالونه جوړوو. یو مثال یو ځانګړی څیز دی چې د یو ځانګړي ټولګي څخه جوړ شوی. 'پاس' په مکرر ډول د کوډ لپاره د سټینډ ان په توګه کارول کیږي چې پلي کول یې ممکن د اوس لپاره پریږدي. موږ کولی شو د "پاس" کلیمې په کارولو سره د غلطۍ رامینځته کولو پرته د پایتون کوډ اجرا کړو.
د ټولګي انسټیټیوټ په یوه څیز (مثال) کې پایله لري. یوازې د څیز توضیحات تعریف کیږي کله چې ټولګي رامینځته کیږي. د پایلې په توګه، هیڅ ذخیره یا RAM نه دی تخصیص شوی.
د طوطي ټولګي اعتراض یوه بیلګه ده:
اوبج په دې مثال کې د توت ټولګي څیز دی.
راځئ چې ووایو موږ د طوطیو په اړه مشخصات پوهیږو. موږ به اوس وښیو چې څنګه د طوطي ټولګي او د هغې توکي جوړ کړو.
ځانګړې طریقه (__init__)
یوه میتود چې د init په نوم یادیږي هغه ځانګړتیاوې تعریفوي چې هر توت څیز باید ولري (). کله چې یو نوی توت څیز جوړ شي، فنکشن __init__ د هغه ارزښتونو په ټاکلو سره چې موږ یې د اعتراض ملکیتونو کې وړاندې کوو د اعتراض لومړني حالت رامینځته کوي.
نو، د ټولګي هره نوې بیلګه د __init__() په کارولو سره پیل کیږي. که څه هم __init__() کولی شي هر شمیر پیرامیټونه ومني، ځان تل لومړی پیرامیټر دی.
د فعال ټولګي مثال ته حواله د ځان دلیل کې شامله ده. د ځان پیرامیټر، کوم چې د ټولګي د اوسني څیز پته سره اړیکه لري او موږ ته د هغې (د څیز) متغیر معلوماتو ته لاسرسی راکوي، دا په ګوته کوي.
مثال 1
موږ په پورتني کوډ کې د توتا په نوم ټولګي رامینځته کړل. بیا، ملکیتونه تعریف شوي. د یو شی ځانګړتیاوې د هغې ځانګړتیاوې دي. د ټولګي __init__ فعالیت هغه ځای دی چیرې چې دا ځانګړتیاوې مشخص شوي.
کله چې یو څیز جوړ شي، د پیل کولو طریقه هغه ده چې په پیل کې ویل کیږي. بیا، د طوطي ټولګي مثالونه رامینځته کیږي. په دې مثال کې بلیز او وانډا زموږ نوي شیانو ته حوالې (ارزښتونه) دي. __class .species موږ ته اجازه راکوي چې ټولګي خاصیت ته لاسرسی ولرو.
د ټولګي هره بیلګه ورته ځانګړتیاوې لري. د مثال ځانګړتیاو ته هم د blaze.name او blaze.age په کارولو سره لاسرسی کیدی شي. که څه هم د ټولګي ټول مثالونه ځانګړي مثالونه لري.
مثال 2
میتودونه
هغه دندې چې د ټولګي په بدن کې تعریف شوي د میتودونو په نوم یادیږي. دوی ګمارل شوي ترڅو مشخص کړي چې یو توکي به څنګه چلند وکړي.
دوه میتودونه، سندرې () او نڅا، په پورته ذکر شوي غوښتنلیک کې تعریف شوي (). ځکه چې دوی د مثال په توګه کارول کیږي، لکه شعله، دا د مثال میتودونو ته راجع کیږي.
د OOPS مفهوم اساسات
د اعتراض پر بنسټ پروګرام کولو څلور اصلي نظرونه دا دي:
- میراث
- اختصاص
- پولیمورفیزم
- استراحت
میراث
خلک په مکرر ډول نوي زیږیدلي ماشومانو ته وايي چې دوی مخ ځانګړتیاوې لري چې د دوی د مور او پلار سره ورته دي یا دا چې دوی د مور او پلار څخه ځانګړي ځانګړتیاوې په میراث کې لري.
دا ممکنه ده چې تاسو دا هم لیدلي وي چې تاسو د خپلو والدینو سره یو څو ځانګړتیاوې شریکې کړئ. د حقیقي نړۍ وضعیت هم د میراث سره ورته دی.
په هرصورت، پدې حالت کې، "د والدینو ټولګیو" ځانګړتیاوې د "ماشوم ټولګیو" ته لیږدول کیږي. دا اړخونه پدې شرایطو کې د "ملکیتونو" او "طریقو" په توګه راجع کیږي.
یوه طبقه کولی شي خپل میتودونه او ځانګړتیاوې د بل ټولګي څخه د میراث په نوم پیژندل شوي تخنیک په کارولو سره ترلاسه کړي. میراث د ماشوم ټولګي پروسه ده چې د والدین ټولګي ملکیتونه ترلاسه کوي.
بېلګه:
د پلار ټولګي انسان په پورتنۍ مثال کې د ماشوم ټولګي هلک لخوا په میراث پاتې دی. ځکه چې هلک د انسان څخه په میراث کې دی، موږ کولی شو د هغې ټولو میتودونو او ځانګړتیاوو ته لاسرسی ومومئ کله چې موږ د هلک ټولګي مثال جوړ کړو.
د هلک په ټولګي کې، د ښوونځي نوم په نوم یو میتود هم تعریف شوی. د والدین ټولګي اعتراض نشي کولی د ښوونځي نوم میتود ته لاسرسی ومومي. په هرصورت، د ښوونځي نوم طریقه د ماشوم ټولګي اعتراض (هلک) په جوړولو سره ویل کیدی شي.
اختصاص
په برنامه کې هر متغیر ته نړیوال لاسرسي ورکول یو هوښیار اقدام ندی کله چې د ټولګیو سره کار کول او د حساس معلوماتو اداره کول.
پرته لدې چې برنامه کوم یو ته دې متغیرونو ته بشپړ لاسرسی ورکړي ، encapsulation زموږ لپاره یو میکانیزم چمتو کوي ترڅو اړین تغیرات ترلاسه کړي.
هغه میتودونه چې د هدف لپاره په واضح ډول تعریف شوي د متغیرونو څخه ډیټا تازه کولو ، ایډیټ کولو یا حذف کولو لپاره کارول کیدی شي. د پروګرام کولو دا طریقه د ډیټا ان پټ په اړه د امنیت او کنټرول د ښه والي ګټې لري.
وګورئ چې متغیرات په لاندې مظاهره کې څومره ژر د لاسرسي وړ کیدی شي:
پولیمورفیزم
راځئ چې ووایو تاسو خپل تلیفون د لټون کولو لپاره کاروئ انسټاګرام فیډونه. کله چې تاسو د یو څه میوزیک اوریدلو لیوالتیا ترلاسه کړه ، تاسو سپوټایف ته لاسرسی وموند او د خپلې خوښې سندرې غږول یې پیل کړل.
یو وخت وروسته، تاسو یو تلیفون ترلاسه کړ، نو تاسو د ځواب ورکولو لپاره هر هغه څه چې تاسو یې په شالید کې ترسره کول ودرول. ستاسو ملګري تلیفون وکړ او غوښتنه یې وکړه چې تاسو دوی ته د یو ځانګړي کس د تلیفون شمیره واستوئ.
نو تاسو هغه ته د ایس ایم ایس له لارې د تلیفون شمیره واستوله او خپل کارونه یې ترسره کړل. ایا تاسو کوم شی غوره کړی؟ یوازې د یوې وسیلې سره - ستاسو ګرځنده تلیفون - تاسو کولی شئ د فیډونو له لارې سرف وکړئ ، میوزیک واورئ ، تلیفون وکړئ او پیغام وکړئ.
له همدې امله، پولیمورفیزم د دې سره پرتله کیږي. پولي معنی ګڼ شمیر، او مورف مختلف ډولونه څرګندوي. له همدې امله، پولیمورفیزم په ټولیزه توګه د مختلفو بڼو سره یو څه ته اشاره کوي.
یا "یو څه" چې په شرایطو پورې اړه لري، کولی شي مختلف چلندونه نندارې ته وړاندې کړي. په OOPS کې، پولیمورفیزم د ورته نومونو سره دندې تشریح کوي مګر جلا چلندونه. په بدیل سره، د ورته فنکشن نوم سره د مختلف فنکشن لاسلیک (پیرامیټونه فنکشن ته لیږدول شوي).
بېلګه:
دلته، موږ کولی شو د متغیر حیوان څخه کار واخلو ترڅو د زیبرا او خرگوش د شیانو په اوږدو کې تکرار شي، د دوی د مثالي میتودونو په کارولو سره. د پایلې په توګه، د زیبرا او خرگوش چلند (رنګ () او خواړه ()) دلته د یو واحد متغیر لخوا استازیتوب کیږي چې د حیوان په نوم یادیږي. نو دا د پولیمورفیزم قواعدو ته غاړه ایښودل دي.
استراحت
تاسو ډیری احتمال د دې مینځپانګې لوستلو لپاره لپ ټاپ ، تلیفون یا ټابلیټ کاروئ. د لوستلو پرمهال، تاسو احتمالا یادداشتونه هم اخلئ، کلیدي عبارتونه په نښه کوئ، او شاید ستاسو په شخصي فایلونو کې ځینې معلومات ذخیره کړئ.
ټول هغه څه چې تاسو یې لیدلی شئ کله چې تاسو دا لوستلی شئ یو "اسکرین" دی د ډیټا سره چې تاسو ته ښودل کیږي. تاسو یوازې د کیبورډ کیلي ګورئ لکه څنګه چې تاسو ټایپ کوئ ، نو تاسو اړتیا نلرئ د داخلي فرعياتو په اړه اندیښنه ولرئ لکه څنګه چې د کیلي فشار کول د دې کلمې په سکرین کې څرګندیدو لامل کیدی شي.
په بدیل سره، ستاسو په سکرین کې د تڼۍ فشار څنګه کولی شي یو نوی ټب پیل کړي.
له همدې امله، هر هغه څه چې موږ په دې حالت کې لیدلی شو خلاص دی. موږ یوازې هغه پایلې لیدلی شو چې دا رامینځته کوي او نه داخلي پیچلتیاوې (کوم چې واقعیا زموږ لپاره مهم دي).
دې ته ورته، خلاصون یوازې هغه دندې څرګندوي چې هرڅه لري پداسې حال کې چې د پلي کولو یا داخلي توضیحاتو پټول.
د خلاصون لوی هدف د شالید معلوماتو پټول او د هر ډول بهر معلوماتو پلي کول دي ترڅو خلک یوازې هغه څه وګوري چې دوی ورته اړتیا لري. دا د کوډ پیچلتیا اداره کولو کې مرسته کوي.
بېلګه:
دلته د موټر پورې اړوند خلاصې ټولګي شتون لري. ځکه چې دا د خلاصې ټولګي ABC څخه میراث لري، دا خلاص دی. ځکه چې خلاصې میتودونه تعریف شوي ندي یا خالي پاتې کیږي، د موټر ټولګي یو خلاص میتود لري چې نوم یې د ویلونو نه دی چې تعریف نلري.
دوی د هغه ټولګیو اټکل کوي چې د خلاصې ټولګیو میراث د میتود پلي کولو لپاره ورکوي.
د OOPS مفاهیمو ګټې
- د پوښښ کولو سره، لوړ امنیت او د معلوماتو محرمیت ترلاسه کیږي.
- د ورته ټولګي ډیری پولیمورفیک نسخو درلودلو کې انعطاف.
- د کوډ پیچلتیا لوړه کچه د خلاصون له لارې کمه شوې.
- د دې پرځای چې د یوې ستونزې موندلو لپاره د کوډ د سلګونو لینونو له لارې تیر شي، د برنامه کولو موډلیت ډیبګ کول ساده کوي.
- د کوډ بیا کارول د ماشوم ټولګي د والدینو ټولګي ملکیتونو میراث له امله رامینځته کیږي.
- د ستونزې مؤثره حل ممکن دی ځکه چې موږ ټولګي رامینځته کوو چې د هرې کوچنۍ ستونزې لپاره اړین عملونه ترسره کوي. لاندې ستونزه حتی ډیر ژر حل کیدی شي ځکه چې موږ کولی شو دا ټولګي بیا وکاروو.
پایله
په پایله کې، موږ په Python کې د OOPS نظرونو په اړه زده کړل، همدا اوس د برنامه کولو ترټولو ګرم تمثیل دی.
د دې لوستلو وروسته، تاسو باید پوه شئ چې د OOPS تمثیل په بشپړه توګه د ټولګیو او شیانو نظر سره معامله کوي. او د OOPS مفاهیم لکه انکاپسولیشن، پولیمورفیزم، میراث، او خلاصون.
یو ځواب ورکړئ ووځي