Python'da Sınıf ve Nesne: Nesne Yönelimli Programlamaya Giriş
Nesne yönelimli programlama (OOP), kodu daha düzenli ve yeniden kullanılabilir hale getiren bir yaklaşımdır. Sınıf, bir şeyin taslağı gibidir; nesne ise o taslaktan yapılan gerçek bir örnektir.
Bir analoji vermek gerekirse: sınıf, bir pasta tarifesidir; nesne ise o tarife kullanarak yapılan gerçek pastadır.
Python'da sınıf class anahtar kelimesiyle tanımlanır. İçinde veri (özellik) ve işlemler (metot) barındırır.
1class Araba:2def __init__(self, marka, renk):3self.marka = marka4self.renk = renk56def bilgi_ver(self):7return f"{self.marka} markası, {self.renk} renkli araba"Burada __init__ metodu sınıfın kurucusudur; nesne oluşturulurken otomatik çalışır. self ise nesnenin kendisini temsil eder.
Sınıftan nesne oluşturmak basittir. Sınıf adını parantezle çağırırsınız:
1arabam = Araba("Toyota", "kırmızı")2baskasinin_arabasi = Araba("BMW", "siyah")34print(arabam.bilgi_ver())5print(baskasinin_arabasi.bilgi_ver())Çıktı:
1Toyota markası, kırmızı renkli araba2BMW markası, siyah renkli arabaGerçekçi bir senaryo ile pekiştirelim:
1class HesapSahibi:2def __init__(self, ad, bakiye):3self.ad = ad4self.bakiye = bakiye56def para_yatir(self, tutar):7self.bakiye += tutar8print(f"{tutar} TL yatırıldı. Yeni bakiye: {self.bakiye} TL")910def para_cek(self, tutar):11if tutar <= self.bakiye:12self.bakiye -= tutar13print(f"{tutar} TL çekildi. Yeni bakiye: {self.bakiye} TL")14else:15print("Yetersiz bakiye!")1617def bakiye_sorgula(self):18return f"{self.ad}'ın bakiyesi: {self.bakiye} TL"1920# Kullanım21ayse = HesapSahibi("Ayşe", 1000)22print(ayse.bakiye_sorgula())23ayse.para_yatir(500)24ayse.para_cek(200)25ayse.para_cek(2000)Çıktı:
1Ayşe'nin bakiyesi: 1000 TL2500 TL yatırıldı. Yeni bakiye: 1500 TL3200 TL çekildi. Yeni bakiye: 1300 TL4Yetersiz bakiye!Gördüğünüz gibi her nesne kendi verilerini tutar. Ayşe'nin hesabı Mehmet'in hesabından bağımsızdır. Bu, OOP'nin gücüdür: veri ve işlemleri bir araya getirerek, kodun bakımını ve genişletilmesini kolaylaştırır.
0 yorum