Python Python' da OOP 2026 Güncel

Python Constructor

4 dk okuma süresi 543 görüntülenme 2024-09-10 4.9 (14 değerlendirme)

Python'da constructor (yapıcı metot), bir sınıftan yeni bir nesne oluşturulurken otomatik olarak çalışan bir metottur. Python'da bu işlevi sağlayan özel metodun adı __init__ metodudur.

Constructor'ın Temel Görevi:

  • Bir sınıftan nesne oluşturulurken çalıştırılır ve bu nesnenin başlangıç durumunu belirler.
  • Constructor, genellikle nesnenin özelliklerini (attributes) tanımlamak ve başlangıç değerlerini atamak için kullanılır.

Metodu

Python'da __init__ metodu, sınıfa ait özelliklerin (attributes) ilk değerlerini ayarlamak için kullanılır. Bu metodun içinde nesneye özel özellikler tanımlanır.

Basit Bir Constructor Örneği:

class Araba: def __init__(self, model, renk): # Constructor self.model = model # Nesnenin model özelliği self.renk = renk # Nesnenin renk özelliği def bilgi(self): print(f"Araba modeli: {self.model}, rengi: {self.renk}")

Yukarıdaki Araba sınıfında, __init__ metodu, model ve renk adında iki özelliği sınıfın nesnelerine atar. Bu, her yeni araba nesnesi oluşturulduğunda çalışır.

Constructor Nasıl Çalışır?

Bir sınıftan nesne oluşturulduğunda __init__ metodu otomatik olarak çağrılır ve parametreler bu metoda aktarılır. Örneğin:

araba1 = Araba("Toyota", "Kırmızı") # __init__ otomatik olarak çağrılır araba2 = Araba("Honda", "Mavi") araba1.bilgi() # Araba modeli: Toyota, rengi: Kırmızı araba2.bilgi() # Araba modeli: Honda, rengi: Mavi

Parametresi Nedir?

  • self, sınıfın o anki örneğini temsil eder ve sınıf içindeki özelliklere ve metotlara erişim sağlar.
  • Her sınıf metodu (özellikle __init__) ilk parametre olarak self alır, fakat bu parametreyi sınıfı çağırırken belirtmemize gerek yoktur. Python bunu otomatik olarak halleder.
class Kisi: def __init__(self, isim): self.isim = isim # self.isim, nesneye ait bir özelliktir def selamla(self): print(f"Merhaba, benim adım {self.isim}.")

Bu sınıftan bir nesne oluşturulduğunda:

kisi1 = Kisi("Ali") kisi1.selamla() # Merhaba, benim adım Ali.

Constructor İçinde Varsayılan Değerler

Constructor'da parametrelere varsayılan değerler de atanabilir. Bu sayede, nesne oluşturulurken bazı parametreler belirtilmese bile varsayılan değerler kullanılır.

class Araba: def __init__(self, model="Bilinmiyor", renk="Bilinmiyor" ): self.model = model self.renk = renk def bilgi(self): print(f"Araba modeli: {self.model}, rengi: {self.renk}") araba1 = Araba() # Parametre verilmedi, varsayılan değerler kullanılır araba2 = Araba("Tesla", "Beyaz") araba1.bilgi() # Araba modeli: Bilinmiyor, rengi: Bilinmiyor araba2.bilgi() # Araba modeli: Tesla, rengi: Beyaz

Birden Fazla Constructor

Python'da doğrudan birden fazla constructor (metot aşırı yükleme, yani method overloading) desteklenmez. Ancak bu durumu farklı yollarla yönetmek mümkündür, örneğin parametrelerin varsayılan değerlerini belirlemek ya da koşullu ifadeler kullanmak yaygın bir tekniktir.

class Araba: def __init__(self, model=None, renk=None ): if model and renk: self.model = model self.renk = renk else: self.model = "Bilinmiyor" self.renk = "Bilinmiyor" def bilgi(self): print(f"Araba modeli: {self.model}, rengi: {self.renk}") araba1 = Araba("Toyota", "Kırmızı") araba2 = Araba() araba1.bilgi() # Araba modeli: Toyota, rengi: Kırmızı araba2.bilgi() # Araba modeli: Bilinmiyor, rengi: Bilinmiyor

Özet

  • Constructor: Bir sınıftan

nesne oluşturulurken otomatik olarak çalışan bir yapıcı metottur.

  • Python'da constructor işlevini __init__ metodu yerine getirir.
  • Constructor, nesnenin başlangıç özelliklerini ayarlamak için kullanılır.
  • self, o sınıftan oluşturulan nesneyi temsil eder ve sınıfın içinde kullanılır.
  • Parametrelere varsayılan değerler verilebilir ve birden fazla constructor yerine alternatif çözümler üretilebilir.

Constructor, nesne yönelimli programlamada sınıfların düzgün bir şekilde çalışmasını sağlayan önemli bir yapıdır.

Bu Dersi Değerlendirin

Bu ders size yardımcı oldu mu? Puan verin!

Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.

4.9 / 5 (Toplam 14 oy kullanıldı)

Sıkça Sorulan Sorular (SSS)

Bu ders ve konuyla ilgili en çok merak edilenler

Python Constructor dersini öğrenmek için ön koşul var mı?

Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.

Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?

Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.

Takıldığım bir yerde nereden soru sorabilirim?

Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.

Paylaş:
PHP Hocası Akademi

Topluluk Yorumları (0)

Ders Hakkında Yorum Yap veya Soru Sor

Henüz yorum yapılmamış. İlk yorumu siz yazın!