Python’da Nesne Yönelimli Programlama: Temeller ve İlk Adımlar

Nesne Yönelimli Programlama (OOP), yazılım geliştirmede önemli bir paradigma olup, verileri ve işlevleri bir araya getirir. Python, OOP için güçlü destek sunar ve bu yazıda, sınıflar ve nesneler ile nasıl çalışılacağını öğreneceksiniz.
1. Nesne Yönelimli Programlama Nedir?
OOP, yazılım bileşenlerini nesneler olarak modellemeyi amaçlayan bir programlama yaklaşımıdır. Bu nesneler, veri ve bu verilere yönelik işlevleri (metotlar) içerir. OOP’nin temel kavramları şunlardır:
- Sınıf (Class): Nesnelerin yapısını tanımlar.
- Nesne (Object): Sınıfın bir örneğidir.
- Özellik (Attribute): Nesnenin verilerini temsil eder.
- Metot (Method): Nesne üzerinde işlemler gerçekleştiren işlevlerdir.
2. Sınıflar ve Nesneler
2.1. Sınıf Tanımlama
Bir sınıf tanımlamak için class
anahtar kelimesi kullanılır:
class Araba:
def __init__(self, marka, model, yil):
self.marka = marka
self.model = model
self.yil = yil
def bilgileri_goster(self):
print(f"{self.yil} {self.marka} {self.model}")
Bu kod, Araba
adlı bir sınıf tanımlar. __init__
metodu, sınıfın kurucusu olup, nesne oluşturulduğunda çağrılır.
2.2. Nesne Oluşturma
Bir sınıftan nesne oluşturmak için sınıf adı bir fonksiyon gibi kullanılır:
araba1 = Araba("Toyota", "Corolla", 2020)
araba2 = Araba("Honda", "Civic", 2019)
araba1.bilgileri_goster() # 2020 Toyota Corolla
araba2.bilgileri_goster() # 2019 Honda Civic
Bu kod, Araba
sınıfından iki nesne oluşturur ve bilgileri_goster
metodunu çağırarak bilgileri ekrana yazdırır.
3. Özellikler ve Metotlar
3.1. Özellikler
Özellikler, nesnelerin verilerini temsil eder ve self
anahtar kelimesi ile tanımlanır:
class Ogrenci:
def __init__(self, isim, yas):
self.isim = isim
self.yas = yas
ogrenci1 = Ogrenci("Ali", 21)
print(ogrenci1.isim) # Ali
print(ogrenci1.yas) # 21
3.2. Metotlar
Metotlar, nesne üzerinde işlemler gerçekleştiren işlevlerdir:
class Ogrenci:
def __init__(self, isim, yas):
self.isim = isim
self.yas = yas
def selamla(self):
print(f"Merhaba, benim adım {self.isim} ve {self.yas} yaşındayım.")
ogrenci1 = Ogrenci("Ali", 21)
ogrenci1.selamla() # Merhaba, benim adım Ali ve 21 yaşındayım.
4. Kalıtım (Inheritance)
Kalıtım, bir sınıfın başka bir sınıftan özellik ve metotları miras almasını sağlar:
class Hayvan:
def __init__(self, isim):
self.isim = isim
def ses_cikar(self):
pass
class Kopek(Hayvan):
def ses_cikar(self):
return "Hav hav!"
class Kedi(Hayvan):
def ses_cikar(self):
return "Miyav!"
kopek = Kopek("Karabaş")
kedi = Kedi("Tekir")
print(f"{kopek.isim} ses çıkarır: {kopek.ses_cikar()}")
print(f"{kedi.isim} ses çıkarır: {kedi.ses_cikar()}")
Bu kodda, Hayvan
sınıfı temel sınıf olarak tanımlanır ve Kopek
ve Kedi
sınıfları bu sınıftan kalıtım alır.
5. Sonuç
Bu yazıda, Python’da Nesne Yönelimli Programlamaya (OOP) giriş yaptık ve sınıflar, nesneler, özellikler, metotlar ve kalıtım konularını ele aldık. OOP, daha organize ve yeniden kullanılabilir kod yazmanıza olanak tanır. Bu konuları uygulayarak Python programlama becerilerinizi geliştirebilirsiniz.
Bir sonraki yazıda, Python’da modüller ve paketler konularını ele alacağız. Takipte kalın ve mutlu kodlamalar!
Daha Fazlası İçin
ChatGPT ile Python Eğitimi sayfamızı ziyaret ederek daha fazla kaynağa ulaşabilirsiniz.