Python-da Sinif və Obyektlər

Parvin Baghirov
Pragmatech
Published in
2 min readSep 11, 2020

Bu məqalədə Obyekt Yönümlu Proqramlaşdırmada önəmli rol oynayan 2 əsas məsələ,sinif(class) və obyekt (object) haqqında məlumat verəcəm.

Sinif(Class) və Obyekt(Object) üçün sadə misal.

Sinif, istifadəçilər tərəfindən təyin olunan bir plan və ya obyektlərin yaradıldığı prototipdir.Siniflər məlumatları və funksiyanallığı bir yerə yığmaq üçün bir vasitədir.Yeni bir sinif yaratmaq,yeni bir obyekt tipi yaradır və və bu tipdən yeni bir nümayəndələrin qurulmasına icazə verir. Hər bir sinif nümayəndəsi(instance) vəziyyətini qorumaq üçün özünə bağlı xüsusiyyətlərə sahib ola bilər.Sinif nümayəndələri, vəziyyətini dəyişdirmək üçün metodlara da (sinfi tərəfindən təyin olunur) sahib ola bilər.

Sinifin təyin olunması

Python-da sinifi təyin etmək üçün “class” açar sözündən istifadə olunur.Sinfin gövdəsində də atributlar, yəni sinifin sahə və metodları elan edilir.

class MyNewClass:
pass

Yuxarıda yaratdığımız sinifin gövdəsinə heç bir atribut əlavə etmək istəmədik.Lakin bunu boş qoymaqda olmaz.Ona görə belə halda “pass” açar sözündən istifadə etməlik.Bu açar sözü heç bir dəyişikliyin olmayacağını bildirir.

Sinifə eyni zamanda aşağıdakılar daxildir.

1) Konstruktorlar (Constructor)

2) Nümayəndə atributları (Instance Attributes)

3) Sinif atributları (Class Attributes)

4) Metodlar (Methods)

class person:
count=0 #class attribute
def __init__(self): #constructor
self.name="unknown" #instance attribute
self.age=0 #instance attribute
def displayInfo(self): #method
print(self.name, self.age)

Yuxarıdakı kod nümunəsində person sinif, __init__(self) konstruktor,
nameage nümayəndə atributları,displayInfo isə person sinifinin metodudur.

Python-da Obyektlər

Python-da Obyekt sadəcə məlumatların (dəyişənlərin) və bu məlumatlar üzərində işləyən metodların (funksiyaların) toplusudur. Eynilə, bir sinif bu obyekt üçün bir plandır.Sinfi bir evin eskizi (prototipi) kimi düşünə bilərik. Döşəmələr, qapılar, pəncərələr və s. haqqında bütün detalları özündə cəmləşdirir. Bu təsvirlərə əsasən evi tikirik. Ev obyektdir.Bir evin planından çox sayda ev düzəldilə bildiyindən, bir sinifdən bir çox obyekt yarada bilərik. Bir obyektə bir sinif nümayəndəsi də deyilir və bu obyektin yaradılması prosesinə instantasiya(instantiation) deyilir.İnstantiation ifadəsini sadə bir nümunə ilə izah edək.Bunun üçün ilk öncə bir aşağıdakı kimi bir sinif nümunəsi yaratmalıyıq.

class işçi():
vəzifəsi= 'mütəxəssis'
maaşi = 1000
vətəndaşlığı= ''
yası=
stajı=
samir=işçi()

Yuxarıdakı kod nümunəsində yaratdığımız “işçi” adında sinifi “samir” adında bir dəyişənə təyin etdik.Bu prosesə instantiation deyilir bununla biz yaratdığımız sinifi işlək hala gətirmiş oluruq.

Obyekt adətən aşağıdakılardan ibarətdir.
Vəziyyət(State): Bir obyektin atributları ilə təmsil olunur. Həm də bir obyektin xüsusiyyətlərini əks etdirir.
Davranış(Behavior): Bir obyektin metodları ilə təmsil olunur. Həm də bir obyektin digər obyektlərlə reaksiyasını əks etdirir.
Kimlik(İdentity): Bir obyektə bənzərsiz bir ad verir və bir obyektin digər obyektlərlə qarşılıqlı əlaqəsini təmin edir

__Init__ funksiyası və Self

Siniflər üçün təyin olunan metodlar arasında __İnit__ metodunun xüsusi yeri var.Bu metod sinifinin nümanyəndəsi yəni obyekt yaradılandan sonra işə düşür.

class Car:

# initializer
def __init__(self):
pass

Sinifin içərisində bu metodu təyin edəndə,ilk öncə self parametrindən istifadə olunmalıdır.Self ifadəsi sinfin numayəndəsini təmsil edir.Self açar sözündən istifadə edərək Pythonda sinifin xüsusiyyətlərinə və metodlarına daxil ola bilərik.

Mənbələr
https://www.programiz.com/python-programming/class
https://www.geeksforgeeks.org/python-classes-and-objects/
https://www.tutorialsteacher.com/python/python-class

--

--