Python тілі негіздері (әдістемелік құрал)



Pdf көрінісі
бет24/26
Дата01.02.2023
өлшемі1,76 Mb.
#167044
түріПрограмма
1   ...   18   19   20   21   22   23   24   25   26
Байланысты:
Бөрібаев, Муратова Python тілі негіздері

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


29 
келген объект құрған кезде біз мұрагерлікпен кездесіп отырдық: объектіде класс атрибуттар 
болуы да мүмкін немесе өзіне ғана тән дербес жеке атрибуты болуы да мүмкін.
class A:
def sum(self, x, y):
num = x + у
return num
class B(A):
# "A" класы мұрагерін жасаймыз
def div(self, x, y):
num = x / у
return num
obj=B()
print(obj.div(2,4))
print(obj.sum(2, 4))
Нәтижесі:
0,5
6
Python тілінде сонымен бірге көптік мұрагерлік формасы да бар (
multiple inheritance
). 
Класты бірнеше базалық класпен анықтау мына түрде болады:
class ТуындыКлассАты(Базалық1, Базалық2, Базалық3):
<оператор-1> 
... 
 
# Мысал
class Base1:
def basemethod(self):
return "Сәлем"
class Base2:
value = 44
class MyClass(Base1, Base2):
def_init__(self):
self.a = 10
obj = MyClass()
print(obj.value)
print(obj.basemethod())
Нәтижесі:
44
Сәлем 
Полиморфизм 
Полиморфизм дегеніміз – бір операция немесе әдіс атын әртүрлі класс объектілеріне 
қолдану мүмкіндігі, бірақ объектімен орындалатын іс-әрекеттер айтарлықтай өзгеше болуы 
мүмкін.
class A:
def oper(self, x, у):
num = x + у
return num


30 
class B(A):
# "A" класына мұрагерлік етеміз
def oper(self, x, y):
# <--- 
num = x / у
return num
obj1 = A()
obj2 = B()
print(obj1.oper(2, 4))
print(obj2.oper(2, 4))
Нәтижесі:
6
0,5 
Көптеген кластарда объектіні құрған кезде оның атрибуттарын автоматты түрде құратын 
арнайы әдіс бар. Яғни, осы әдісті арнайы шақырудың қажеті жоқ, класты шақырған кезде ол 
өзі автоматты түрде іске қосылады. Нысан құрған кезде класс шақырылады. Осындай әдіс 
класс конструкторы деп аталады және Python тілінде 
__init__ 
деген атауға ие болады. 
Конструктор ішінде аргумент болмауы да мүмкін.
class MyClass:
def__init__(self, x, у): # Бұл конструктор
self.num1 = х
self.num2 = у
def sum(self):
numsum = self.num1 + self.num2
return numsum
obj = MyClass(6, 7)
print(obj.sum())
Нәтижесі:
13 


Достарыңызбен бөлісу:
1   ...   18   19   20   21   22   23   24   25   26




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

    Басты бет