Özellikle nesne yönelimli programlama geliştirilirken en önemli kavramlardan birisi sınıf(class) olarak düşünülebilinir.
Python üzerinde sınıf kavramından bahsedeceksek özet olarak fonksiyonlar yerine yöntem(method), değişken yerine de nitelik(attribute) kullanacağınızı düşünebilirsiniz.
Sınıf kavramını bir çok nesne yönelimli programlama kitabında bulabilirsiniz fakat bu yazımızda Python üzerinde basit bir örneği üzerinden anlatılmaya çalışılacak.
Basit değişken nedir?
Python üzerinde herhangi bir basit şekilde aşağıdaki yöntemlerle sayı ve yazı şeklinde iki tip değişken tanımlayabiliyorsunuz:
ad="ali veli"
numara=12
Basit fonksiyon nedir?
Yine python üzerinde basitçe bir fonksiyon tanımlamak için aşağıdaki gibi kullanım sağlanabilmektedir:
def adinNe(isim):
return("adım "+isim)
Peki yöntem ve nitelik nedir?
Python üzerinde sınıf tanımlayarak aşağıdaki gibi yöntem ve nitelikler tanımlayabilirsiniz:
class personel:
tipi="insan"
def __init__(self,ad,no):
self.ad=ad
self.no=no
def adinNe(self):
return("ad: "+self.ad)
def numaraNe(self):
return("no: "+str(self.no))
init yöntemi
Bu tanımlamalarda en farklı gördüğümüz kısım __init__ isimli yöntem(method) olacaktır. Bu yöntem özetle sınıfın tanımlanması, tanımlanırken neler yapılması gerektiğini anlatır. Yani birazdan nesne oluştururken kullanılacak yöntem tam olarak burasıdır.
self yapısı nedir?
Sınıfın içerisindeki herhangi bir nesnenin, "global" bir yapı kazanması yani bulunduğu yapının bir üst katmanında da kullanılabilmesini sağlayan yapıdır.
Yukarıdaki örneğimizde init yönteminde dışarıdan aldığımız 2 değişkeni, içeride çeşitli yöntemlerin içinde de kullanabilmek için "self" yapısı kullanılmıştır. Eğer adinNe ve numaraNe yöntemlerinde self kullanılmaadan değişkenler kullanılsaydı bu değişkenler diğer yöntemlerde kullanılamazdı.
Sınıfı kullanma ve nesne oluşturma
Python üzerinde sınıfı kullanarak birden fazla nesne oluşturmak için aşağıdaki gibi örnek yapabilirsiniz:
kisi1=personel("ali",101)
kisi2=personel("veli",102)
kisi3=personel("zeki",103)
Nesnedeki yöntem ve nitelikleri kullanma
Python üzerinde oluşturulan nesnelerdeki nitelik ve yöntemleri basitçe kullanmak için aşağıdaki örnekleri kullanabilirsiniz. Ve bu örnekte aslında kisi1 nesnesinde tanımladığınız yöntemlerle ad ve numara ayrı ayrı ekrana yazdırabilirsiniz:
print(kisi1.adinNe())
print(kisi1.numaraNe())
Ayrıca herhangi bir nitelik kullanmak istediğiniz de aşağıdaki gibi çağırabilirsiniz:
print(kisi1.tipi)
Özet
Özet olarak temel sınıf bileşenlerini anlatmak istedim. Umarım faydalı bir içerik olmuştur ve kullanılmasında yardımcı olur.
Tempus fugit