Хөгжүүлэгчдийн дунд объект хандалтат програмчлал нь ихээхэн дагагчдыг татсан. Компьютерийн алдартай хэл Python нь объект хандалтат парадигмыг дагаж мөрддөг.
Энэ нь OOP зарчмуудын үндэс болох Python-д объект, ангиудыг тодорхойлох асуудлыг авч үздэг. Энэхүү "Python-д объект хандалтат програмчлалын" хичээлээс та Python ангиудыг хэрхэн зарлах, тэдгээрээс объект үүсгэх, OOPs-ийн дөрвөн аргыг ашиглах талаар суралцах болно.
Тиймээс, хамгийн түрүүнд хийх зүйл.
Объект хандалтат програмчлал гэж юу вэ?
Объект хандалтат програмчлалын (OOP) гол чиглэл нь "объект" бүтээх явдал юм. Өөр хоорондоо холбоотой хувьсагч, функцүүдийн цуглуулга нь объектыг бүрдүүлдэг.
Эдгээр хувьсагчдыг ихэвчлэн объектын шинж чанарууд гэж нэрлэдэг бөгөөд түүний зан төлөвийг ихэвчлэн функцууд гэж нэрлэдэг. Эдгээр зүйлүүд нь програмыг илүү үр дүнтэй, ойлгомжтой бүтэцтэй болгодог. Машин бол тухайн зүйлийн жишээ юм.
Хэрэв машин нь эд зүйл байсан бол түүний шинж чанаруудад өнгө, загвар, үнэ, брэнд гэх мэт зүйлс багтах байсан. Үүнээс гадна, энэ нь хурдасч, удаашруулж, араагаа солих болно.
Өөр нэг жишээ: Хэрэв бид нохойг эд зүйл гэж үзвэл түүний зарим шинж чанар нь өнгө, үүлдэр, нэр, жин гэх мэт байж болно. Тэр хөдөлж, хуцаж, тоглох гэх мэт.
Програмчлалд объект, нуугдмал, удамшил гэх мэт бодит ертөнцийн ойлголтуудыг шингээдэг тул объект хандалтат програмчлалыг сайн мэддэг. Энэ нь бодит нөхцөл байдалтай маш төстэй учраас дүрслэлийг илүү хялбар болгосон.
Объект хандалтат програмчлалын үзэл баримтлал
Python дахь ангиуд ба объектууд
Бусад бүх объект хандалтат хэлний нэгэн адил Python нь объект үүсгэх ангиудыг зохион бүтээх боломжийг олгодог. Мөр, жагсаалт, толь бичиг болон бусад объект зэрэг Python дахь хамгийн алдартай өгөгдлийн төрлүүд нь суурилагдсан ангиуд юм.
Анги гэдэг нь тодорхой төрлийн объектыг тодорхойлдог холбоотой аргууд ба жишээ хувьсагчдын бүлэг юм. Анги нь объектын загвар эсвэл загвар гэж үзэж болно. Анги бүрдүүлэгч хувьсагчдыг атрибут гэж нэрлэдэг.
Объект нь тодорхой шинж чанаруудтай ангийн гишүүн юм. Ийм учраас ижил анги ашиглан хэдэн ч объект үүсгэж болно.
Python ангиудыг класс гэдэг үгээр тодорхойлж, дараа нь ангийн нэр болон хоёр цэгийг бичнэ. Тотьны ангийн жишээ нь:
Энд бид класс түлхүүр үгийг ашиглан тоть гэсэн хоосон ангийг зарлаж байна. Бид ангиудаас жишээ үүсгэдэг. Жишээ нь тодорхой ангиас хийгдсэн тодорхой объект юм. 'pass' нь ихэвчлэн бидний хэрэгжилтээс татгалзаж болох кодыг дэмждэг. Бид "pass" түлхүүр үгийг ашигласнаар Python кодыг алдаа гаргахгүйгээр ажиллуулж чадна.
Ангийн инстанци нь объектыг (жишээ) үүсгэдэг. Анги үүсгэх үед зөвхөн объектын тайлбар тодорхойлогдоно. Үүний үр дүнд ямар ч санах ой эсвэл RAM хуваарилагдаагүй болно.
Тоть ангийн объектын жишээ нь:
Obj нь энэ тохиолдолд тоть ангиллын объект юм.
Бид тотьны талаар тодорхой зүйлийг мэддэг гэж бодъё. Одоо бид тотьны анги болон түүний объектуудыг хэрхэн үүсгэхийг харуулах болно.
Тусгай арга (__init__)
Init хэмээх арга нь Parrot объект бүрт байх ёстой шинж чанаруудыг тодорхойлдог (). Шинэ Parrot объект үүсэх үед __init__ функц нь объектын шинж чанарт бидний өгсөн утгыг оноож объектын анхны төлөвийг үүсгэдэг.
Тиймээс ангийн шинэ тохиолдол бүрийг __init__() ашиглан эхлүүлдэг. Хэдийгээр __init__() нь хэдэн ч параметрийг хүлээн авах боломжтой боловч self нь үргэлж эхний параметр юм.
Идэвхтэй ангийн жишээний лавлагааг өөрийн аргументад оруулсан болно. Ангийн одоогийн объектын хаягтай холбогдож, түүний (объектийн) хувьсагчийн өгөгдөлд хандах боломжийг олгодог self параметр нь үүнийг илэрхийлдэг.
Жишээ 1
Бид дээрх кодоор тоть хэмээх ангийг байгуулсан. Дараа нь шинж чанаруудыг тодорхойлно. Аливаа зүйлийн шинж чанар нь түүний шинж чанар юм. Ангийн __init__ функц нь эдгээр шинж чанаруудыг зааж өгсөн газар юм.
Объект үүсэх үед эхлүүлэгчийн арга нь эхлээд дуудагддаг арга юм. Дараа нь Parrot ангийн жишээнүүд үүсдэг. Энэ тохиолдолд Blaze болон Wonda нь бидний шинэ объектуудын лавлагаа (утга) юм. __class .species нь ангийн шинж чанарт хандах боломжийг бидэнд олгодог.
Ангийн тохиолдол бүр ижил шинж чанартай байдаг. Мөн blaze.name болон blaze.age ашиглан жишээний шинж чанаруудад хандаж болно. Ангийн бүх тохиолдлууд нь өвөрмөц жишээний шинж чанартай байдаг.
Жишээ 2
арга
Ангийн бие дотор тодорхойлогдсон функцуудыг метод гэж нэрлэдэг. Тэдгээр нь тухайн зүйл хэрхэн ажиллахыг тодорхойлоход ашиглагддаг.
Дээр дурдсан программд () дуулах () ба бүжиглэх хоёр аргыг тодорхойлсон болно. Тэдгээр нь дөл гэх мэт жишээ объект дээр дуудагддаг тул тэдгээрийг жишээний аргууд гэж нэрлэдэг.
OOPS үзэл баримтлалын үндэс
Объект хандалтат програмчлалын дөрвөн үндсэн санаа нь:
- өв
- Encapsulation
- Полиморфизм
- Адал явдалт
өв
Хүмүүс шинэ төрсөн хүүхдэд эцэг эхийнхээ царайтай төстэй царайтай эсвэл эцэг эхээсээ тодорхой шинж чанарыг өвлөн авсан гэж байнга хэлдэг.
Магадгүй та эцэг эхтэйгээ хэд хэдэн онцлог шинж чанаруудыг хуваалцаж байгааг анзаарсан байх. Бодит нөхцөл байдал нь өв залгамжлалтай нэлээд төстэй юм.
Гэхдээ энэ тохиолдолд "эцэг эхийн анги"-ын шинж чанар нь "хүүхдийн анги"-д шилждэг. Эдгээр талуудыг энэ хүрээнд "шинж чанар" ба "арга" гэж нэрлэдэг.
Анги нь удамшил гэж нэрлэгддэг техникийг ашиглан өөр ангиас өөрийн арга, шинж чанаруудыг гаргаж авч болно. Өв залгамжлал нь хүүхэд анги нь эх ангийн шинж чанарыг хүлээн авах үйл явц юм.
Жишээ нь:
Дээрх жишээн дэх Хүний эцэг эх анги Boy ангийн хүүхэд өвлөн авсан. Хүү нь Хүнээс өвлөгдөж байгаа тул бид Boy ангийн жишээг үүсгэх үед түүний бүх арга, шинж чанаруудад хандах боломжтой.
Хүүгийн ангид schoolName хэмээх аргыг мөн тодорхойлсон. Эцэг эх ангийн объект schoolName аргад хандах боломжгүй байна. SchoolName аргыг хүүхдийн ангийн объект (Хөвгүүн) үүсгэснээр дуудаж болно.
Encapsulation
Ангиудтай ажиллах, эмзэг өгөгдөлтэй ажиллах үед програмын хувьсагч бүрт глобал хандалт өгөх нь ухаалаг алхам биш юм.
Програмд эдгээр хувьсагчийн аль нэгэнд бүрэн хандах эрх олгохгүйгээр капсулжуулалт нь бидэнд шаардлагатай хувьсагчдыг олж авах механизмыг бүрдүүлдэг.
Энэ зорилгоор тодорхой тодорхойлсон аргуудыг хувьсагчдаас өгөгдлийг шинэчлэх, засварлах, устгахад ашиглаж болно. Програмчлалын энэ арга нь мэдээллийн оролтыг хянах, аюулгүй байдлыг сайжруулах давуу талтай.
Хувьсагчдад хэр хурдан хандах боломжтойг доорх үзүүлэнгээс харна уу.
Полиморфизм
Та утсаа ашиглаж байна гэж бодъё Instagram суваг. Хөгжим сонсох хүсэл төрөхөд та Spotify руу нэвтэрч дуртай дуугаа тоглож эхлэв.
Хэсэг хугацааны дараа та дуудлага хүлээн авсан тул хариулахын тулд ард юу хийж байгаагаа түр зогсоов. Найз чинь залгаж, тодорхой хүний утасны дугаарыг мессеж бичихийг хүссэн.
Тиймээс та түүнд утасны дугаарыг SMS-ээр илгээж, ажлаа үргэлжлүүлэв. Та ямар нэгэн зүйл авсан уу? Зөвхөн нэг төхөөрөмж буюу гар утсаа ашиглан та мэдээллийн сувгуудаар аялах, хөгжим сонсох, утсаар ярих, дуудлага хийх, мессеж бичих боломжтой.
Тиймээс полиморфизмыг үүнтэй харьцуулж болно. Поли гэдэг нь олон, морф нь янз бүрийн хэлбэрийг илэрхийлдэг. Тиймээс полиморфизм нь бүхэлдээ янз бүрийн хэлбэртэй зүйлийг хэлдэг.
Эсвэл тухайн нөхцөл байдлаас шалтгаалаад янз бүрийн зан авир гаргаж болох “ямар нэгэн зүйл”. OOPS-д полиморфизм нь ижил нэртэй боловч өөр өөр зан үйлтэй функцуудыг тодорхойлдог. Эсвэл ижил функцийн нэртэй өөр функцийн гарын үсэг (функцэд дамжуулагдсан параметрүүд).
Жишээ нь:
Энд бид хувьсагч амьтныг ашиглан тахө болон туулайн объектуудыг тус тусын аргыг ашиглан давтах боломжтой. Үүний үр дүнд Зебра болон Туулай хоёрын зан төлөвийг (color() & eats()) энд амьтан хэмээх ганц хувьсагчаар төлөөлдөг. Тиймээс энэ нь полиморфизмын дүрмийг дагаж мөрддөг.
Адал явдалт
Та энэ агуулгыг уншихын тулд зөөврийн компьютер, утас эсвэл таблет ашиглаж магадгүй. Үүнийг уншиж байхдаа та тэмдэглэл хөтөлж, гол хэсгүүдийн доогуур зурж, зарим мэдээллийг хувийн файлдаа хадгалж байгаа байх.
Үүнийг уншихад таны харж чадах зүйл бол танд үзүүлж буй өгөгдөл бүхий "дэлгэц" юм. Та бичих явцдаа гарын товчлууруудыг л хардаг тул товчлуур дарснаар тухайн үг дэлгэцэн дээр гарч ирэх зэрэг дотоод нарийн ширийн зүйлсийн талаар санаа зовох хэрэггүй болно.
Эсвэл дэлгэцэн дээрх товчлуурыг дарснаар шинэ таб хэрхэн нээгдэх боломжтой.
Тиймээс, энэ нөхцөлд бидний ажиглаж чадах бүх зүйл хийсвэр юм. Бид зөвхөн түүний бий болгож буй үр дүнг л харж чадна, харин дотоод нарийн ширийн зүйлийг (энэ нь бидний хувьд чухал) биш юм.
Үүнтэй адил хийсвэрлэл нь аливаа хэрэгжилт эсвэл дотоод нарийн ширийн зүйлийг нуун дарагдуулахын зэрэгцээ бүх зүйлд байдаг функцуудыг л илчилдэг.
Хийсвэрлэлийн гол зорилго нь суурь мэдээлэл болон аливаа гадны өгөгдлийн хэрэгжилтийг нуун дарагдуулах бөгөөд ингэснээр хүмүүс зөвхөн харах ёстой зүйлээ л хардаг. Энэ нь кодын нарийн төвөгтэй байдлыг удирдахад тусалдаг.
Жишээ нь:
Тээврийн хэрэгсэлтэй холбоотой хийсвэр анги энд байна. ABC хийсвэр ангиас удамшдаг учраас хийсвэр байдаг. Хийсвэр аргууд тодорхойлогдоогүй эсвэл хоосон хэвээр байгаа тул Vehicle ангид no of wheels хэмээх хийсвэр арга байдаг бөгөөд энэ нь тодорхойгүй байна.
Тэд аргын хэрэгжилтийг өгөхийн тулд хийсвэр ангиудыг өвлөн авсан ангиудыг урьдчилан таамаглаж байна.
OOPS үзэл баримтлалын ашиг тус
- Хамгаалалт хийснээр өндөр аюулгүй байдал, мэдээллийн нууцлалд хүрдэг.
- Нэг ангиллын олон полиморф хувилбартай байх уян хатан байдал.
- Кодын нарийн төвөгтэй байдлын өндөр түвшинг хийсвэрлэх замаар багасгасан.
- Нэг асуудлыг олохын тулд хэдэн зуун мөр кодыг шүүж үзэхийн оронд програмчлалын модульчлагдсан байдал нь дибаг хийхийг хялбар болгодог.
- Кодын дахин ашиглалт нь эцэг эх ангийн шинж чанарыг хүүхэд ангиас удамшсанаас үүдэлтэй.
- Бид мини асуудал бүрт шаардлагатай үйлдлүүдийг хийдэг ангиудыг бий болгодог тул асуудлыг үр дүнтэй шийдвэрлэх боломжтой. Бид эдгээр ангиудыг дахин ашиглах боломжтой тул дараах асуудлыг илүү хурдан шийдвэрлэх боломжтой.
Дүгнэлт
Эцэст нь хэлэхэд, бид Python програмчлалын хамгийн халуун парадигм болох OOPS санаануудын талаар олж мэдсэн.
Үүнийг уншсаны дараа та OOPS парадигм нь анги, объектын санааг бүхэлд нь авч үздэг болохыг ойлгосон байх ёстой. капсул, полиморфизм, удамшил, хийсвэрлэл зэрэг OOPS ойлголтууд.
хариу үлдээх