Python’da Sınıflar ve Nesneler

Python’da Sınıflar ve Nesneler. Nesne Yönelimli Programlama (OOP) temelinde sınıflar ve nesneler yer alır. Bu kavramlar, programları daha modüler, düzenli ve bakımı kolay hale getirmek için kullanılır. Python, OOP’yi destekleyen bir dil olarak, sınıflar ve nesneler aracılığıyla programları yapılandırmanıza olanak tanır.

1. Sınıf (Class)

Bir sınıf, nesneler için bir şablon veya blueprint olarak düşünülebilir. Sınıflar, belirli bir türdeki nesnelerin sahip olacağı özellikleri (attributes) ve metotları (methods) tanımlar. Sınıflar genellikle soyut bir kavramı veya bir varlığı temsil eder.

a. Sınıf Tanımlama

Python’da bir sınıf tanımlamak için class anahtar kelimesi kullanılır.

Örnek:
class Araba: # Yapıcı Metot (Constructor) def __init__(self, renk, model, hiz): self.renk = renk self.model = model self.hiz = hiz # Metotlar def hareket_et(self): print(f"{self.model} hareket ediyor.") def dur(self): print(f"{self.model} durdu.")

Bu örnekte, Araba adında bir sınıf tanımlanmıştır. Sınıfın renk, model ve hiz adında özellikleri ve hareket_et ile dur adında metotları vardır.

b. Yapıcı Metot (Constructor) – __init__

Yapıcı metot (__init__), bir sınıftan yeni bir nesne oluşturulduğunda otomatik olarak çağrılan özel bir metottur. Bu metot, nesneye ilk değerleri atamak için kullanılır.

Örnek:
class Kedi: def __init__(self, isim, renk): self.isim = isim self.renk = renk def miyavla(self): print(f"{self.isim} miyavlıyor.")

Yukarıdaki Kedi sınıfında, isim ve renk özellikleri __init__ metodu ile atanır.

2. Nesne (Object)

Bir nesne, belirli bir sınıfın bir örneğidir. Sınıf, genel bir şablon iken, nesne bu şablona göre yaratılmış somut bir varlıktır. Her nesne, kendi verilerine (özellikler) ve davranışlarına (metotlar) sahiptir.

a. Nesne Oluşturma

Bir nesne oluşturmak için, sınıfı bir fonksiyon gibi çağırmanız yeterlidir.

Örnek:
# Araba sınıfından nesne oluşturma araba1 = Araba("Kırmızı", "Toyota", 120) araba2 = Araba("Mavi", "Honda", 100) # Kedi sınıfından nesne oluşturma kedi1 = Kedi("Minnoş", "Beyaz")

Bu örnekte, araba1 ve araba2 nesneleri Araba sınıfından, kedi1 nesnesi ise Kedi sınıfından oluşturulmuştur.

b. Nesne Özelliklerine Erişim

Bir nesnenin özelliklerine ve metotlarına nokta (.) operatörü ile erişilir.

Örnek:
# Nesne özelliklerine erişim print(araba1.renk) # Kırmızı print(araba2.model) # Honda # Nesne metotlarını çağırma araba1.hareket_et() # Toyota hareket ediyor. araba2.dur() # Honda durdu. # Kedi nesnesi ile metot çağırma kedi1.miyavla() # Minnoş miyavlıyor.

Bu örnekte, araba1, araba2 ve kedi1 nesnelerinin özelliklerine ve metotlarına erişim sağlanmıştır.

3. Sınıf ve Nesne Arasındaki İlişki

Sınıflar ve nesneler arasındaki ilişki, bir sınıfın bir blueprint olarak nesnelerin özelliklerini ve davranışlarını tanımladığı anlamına gelir. Her nesne, tanımlı bir sınıfın bir örneğidir ve o sınıfta tanımlanan tüm özelliklere ve metotlara sahiptir.

a. Bir Sınıfın Birden Fazla Nesnesi

Aynı sınıftan birden fazla nesne oluşturabilirsiniz ve bu nesneler birbirinden bağımsız olarak çalışabilir.

Örnek:
# Araba sınıfından birden fazla nesne oluşturma araba1 = Araba("Kırmızı", "Toyota", 120) araba2 = Araba("Mavi", "Honda", 100) araba3 = Araba("Yeşil", "Ford", 150) # Nesneleri bağımsız olarak kullanma araba1.hareket_et() # Toyota hareket ediyor. araba2.dur() # Honda durdu. araba3.hareket_et() # Ford hareket ediyor.

Bu örnekte, aynı sınıftan oluşturulan üç farklı nesne bağımsız olarak çalıştırılabilir.

b. Sınıf İçinde Metotların Kullanımı

Sınıf içindeki metotlar, genellikle nesnenin özelliklerine erişim sağlamak veya nesne üzerinde işlemler yapmak için kullanılır.

Örnek:
class Dikdortgen: def __init__(self, genislik, yukseklik): self.genislik = genislik self.yukseklik = yukseklik def alan(self): return self.genislik * self.yukseklik def cevre(self): return 2 * (self.genislik + self.yukseklik) # Nesne oluşturma ve metotları kullanma dikdortgen1 = Dikdortgen(5, 10) print("Alan:", dikdortgen1.alan()) # Alan: 50 print("Çevre:", dikdortgen1.cevre()) # Çevre: 30

Bu örnekte, Dikdortgen sınıfından oluşturulan nesne üzerinde alan ve cevre metotları çağrılarak dikdörtgenin alanı ve çevresi hesaplanır.

4. Sınıf ve Nesne Özellikleri

Python’da sınıf ve nesne özellikleri, sınıfın ve nesnenin durumunu temsil eden veri alanlarıdır. Sınıf özellikleri tüm sınıf örnekleri (nesneler) tarafından paylaşılırken, nesne özellikleri her nesne için özeldir.

a. Sınıf Özellikleri

Sınıf özellikleri, sınıf düzeyinde tanımlanır ve tüm nesneler tarafından paylaşılır.

Örnek:
class Ogrenci: okul = "XYZ Lisesi" # Sınıf özelliği def __init__(self, isim, sinif): self.isim = isim # Nesne özelliği self.sinif = sinif # Nesne özelliği # Nesne oluşturma ogrenci1 = Ogrenci("Ali", 10) ogrenci2 = Ogrenci("Ayşe", 11) print(ogrenci1.okul) # XYZ Lisesi print(ogrenci2.okul) # XYZ Lisesi

Bu örnekte, okul sınıf özelliği tüm Ogrenci nesneleri tarafından paylaşılır.

b. Nesne Özellikleri

Nesne özellikleri, __init__ metodu içinde tanımlanır ve her nesne için özeldir.

Örnek:
class Ogrenci: okul = "XYZ Lisesi" # Sınıf özelliği def __init__(self, isim, sinif): self.isim = isim # Nesne özelliği self.sinif = sinif # Nesne özelliği ogrenci1 = Ogrenci("Ali", 10) ogrenci2 = Ogrenci("Ayşe", 11) print(ogrenci1.isim) # Ali print(ogrenci2.isim) # Ayşe

Bu örnekte, isim ve sinif nesne özellikleridir ve her nesne için farklı değerlere sahip olabilir.

Sınıflar ve nesneler, Python’da Nesne Yönelimli Programlama’nın temel yapı taşlarıdır. Sınıflar, nesnelerin özelliklerini ve davranışlarını tanımlarken, nesneler bu sınıfların somut örnekleridir. Bu yapı, kodun modüler, tekrar kullanılabilir ve yönetilebilir olmasını sağlar. Python‘da sınıflar ve nesneler oluşturmak, karmaşık projeleri daha düzenli ve okunabilir hale getirir.

 

Nesne Yönelimli Programlama (OOP)

Comments

“Python’da Sınıflar ve Nesneler” için 2 yanıt

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.