Дәріс тезистері № апта Дәріс тақырыбы және тезистер Сағат көлемі №1 дәріс Қарастырылатын сұрақтар



бет15/20
Дата30.03.2023
өлшемі164,2 Kb.
#77735
1   ...   12   13   14   15   16   17   18   19   20

Кластар


Класс – дегеніміз объект құрылғыларын сипаттайтын тип. Объект – ол кластың данасы.
Python Объектіге бағытталған программалау принциптеріне сәйкес келеді. Python ішінде барлығы да объект болып табылады – жолдар да, тізімдер де, сөздіктер де, қалған барлығы да.
Класты сипаттаудың қарапайым моделі мынадай болады:
class класс аты: инструкция1

...
инструкцияN
Әдетте, әдістің атындағы бірінші аргумент – self. Тілдің авторы Гвидо Ван Россум айтқандай, бұл келісім ғана: self деген атаудың ешқандай да арнайы мағынасы жоқ. self аргументі кластың басқа атрибуттарына бару үшін ғана пайдалы.
# Python-да өзіміздің класымызды жазайық. class A:
і = 0 # Класс атрибуты def prnt(self): # Класс әдісі print(self.i)
# Енді осы кластың бірнеше данасын кэдэа аламыз а = А() # Дана 'а'
b = А() # Дана 'b'
a.і = 3 # 'а' данасының 'і' атрибуты, тең болады 3
b.і = 5 # 'b' данасының 'і' атрибуты, тең болады 5 a.prnt() # 'а' данасы әдісін шақыру
b.pmt() # 'b' данасы әдісін шақыру
Нәтижесі: 3
5

Инкапсуляция


Инкапсуляция дегеніміз – объект құрамындағы компоненттерге (әдістер мен айнымалы- ларға) баруды шектеу. Инкапсуляция көмегімен кейбір компоненттер тек қана класс ішінде қолжетімді болады. Python ішіндегі инкапсуляция программалаушылар арасындағы келісімге байланысты іске асады, қайсы атрибутты жалпыға қолжетімді ету немесе қайсысын ішкі атрибут ретінде белгілеу – әр программада жеке шешіледі.
Атрибут атының басындағы астын бір рет сызу – айнымалы немесе әдістің кластан тыс қолданылмайтындығын, бірақ осы ат бойынша қолжетімді екендігін көрсетеді.
Атрибут атының басындағы астын екі рет сызу – оның қорғаныс қауіпсіздігін үлкейтеді: атрибут осы аты бойынша қолжетімсіз бола бастайды (мына біздің мысалда жұмыс істемеуі мүмкін, бірақ өз инспекторыңызда жасап көріңіз).
Екі рет сызсақ та, атрибут толық қорғалмайды және:
b.В private()
атымен қолжетімді болып қала береді. class A:
def _private(self):
ргіпІ("Бұл приват әдісі!") а = А()
a._private() Нәтижесі:
Бұл приват әдісі!


Достарыңызбен бөлісу:
1   ...   12   13   14   15   16   17   18   19   20




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет