Python Dersleri 5: Nesne Yönelimli Programlama: Bir Öğretici
Share
Nesne Yönelimli Programlamaya Yolculuğumuz Başlıyor
Merhaba arkadaşlar! Python'da temel veri türlerini değişkenleri koşullu ifadeleri döngüleri fonksiyonları listeleri sözlükleri ve dosya işlemlerini öğrendikten sonra şimdi nesne yönelimli programlama (OOP) dünyasına adım atmaya hazırız.
OOP büyük ve karmaşık yazılımları geliştirmek için kullanılan güçlü bir programlama paradigmasıdır. Bu paradigma gerçek dünyadaki nesneleri simüle ederek kodun daha düzenli yeniden kullanılabilir ve bakımı daha kolay olmasını sağlar.
OOP'nin Temel Kavramları: Nesneler ve Sınıflar
OOP'nin temel taşları nesneler ve sınıflardır. Bir sınıf benzer özelliklere ve davranışlara sahip nesnelerin bir şablonudur. Nesne bir sınıfın bir örneğidir. Örneğin "Araba" sınıfını ele alalım. Bu sınıf tekerlek sayısı renk marka gibi özelliklere ve hızlanma frenleme gibi davranışlara sahip olabilir. Bir "BMW" veya "Ford" otomobili "Araba" sınıfının birer örneğidir.
Sınıflar ve Nesneler: Pratik Bir Örnek
İşte Python'da bir sınıf ve nesne oluşturma örneği:
```python class Araba: """Araba sınıfı.""" def __init__(self marka model renk): """Araba nesnesini başlatır.""" self.marka = marka self.model = model self.renk = renk def bilgi_goster(self): """Arabanın bilgilerini gösterir.""" print(f"Marka: {self.marka}") print(f"Model: {self.model}") print(f"Renk: {self.renk}") # Araba sınıfından bir nesne oluşturma arabam = Araba("BMW" "5 Serisi" "Siyah") # Arabanın bilgilerini gösterme arabam.bilgi_goster() ```
Bu örnekte Araba adlı bir sınıf tanımladık. __init__() metodu sınıfın bir örneği oluşturulduğunda çağrılır ve nesnenin özelliklerini başlatır. bilgi_goster() metodu ise arabanın bilgilerini ekrana yazdırır.
OOP'nin 4 Temel Özelliği: Kapsülleme Soyutlama Miras ve Çok Biçimlilik
OOP kodun daha düzenli yeniden kullanılabilir ve bakımı daha kolay olmasını sağlayan dört temel özelliğe sahiptir:
Kapsülleme: Kapsülleme verileri ve metodları tek bir birimde bir araya getirme işlemidir.
Örneğin bir "Araba" sınıfında tekerlek sayısı renk ve marka gibi veriler ve hızlanma frenleme gibi metodlar kapsülenecektir. Bu verilerin yanlışlıkla değiştirilmesini önler ve kodun daha güvenli olmasını sağlar.
Soyutlama: Soyutlama bir nesnenin karmaşık iç yapısını gizleyerek yalnızca önemli olan özellikleri ve davranışları gösterme işlemidir.
Örneğin bir "Araba" sınıfında kullanıcı yalnızca arabanın hızlanma frenleme ve direksiyon çevirme gibi işlevlerini görür arabanın iç mekanizmasını bilmesine gerek yoktur.
Miras: Miras bir sınıftan diğer bir sınıfa özellik ve metodları devretme işlemidir.
Örneğin "SporAraba" sınıfı "Araba" sınıfından miras alabilir ve ek olarak "turbo" gibi bir özellik veya "turbo_ac" gibi bir metod ekleyebilir.
Çok Biçimlilik: Çok Biçimlilik aynı isimli metodun farklı sınıflar tarafından farklı şekilde uygulanmasını sağlar.
Örneğin "Araba" ve "SporAraba" sınıflarında "hızlan" adlı bir metod olabilir ancak bu metod her iki sınıf tarafından farklı şekilde uygulanabilir.
OOP'nin Faydaları: Daha Güçlü Daha Esnek ve Daha Yeniden Kullanılabilir Kodlar
OOP'nin kullanılması kodun daha güçlü daha esnek ve daha yeniden kullanılabilir olmasını sağlar.
Güçlü: OOP kodun daha organize ve modüler olmasını sağlar. Bu da hataları bulmayı ve düzeltmeyi kolaylaştırır.
Esnek: OOP kodun daha esnek olmasını sağlar. Çünkü sınıflar arasında miras kullanılabilir ve yeni sınıflar kolayca oluşturulabilir.
Yeniden Kullanılabilir: OOP kodun daha yeniden kullanılabilir olmasını sağlar. Çünkü sınıflar programın farklı yerlerinde tekrar tekrar kullanılabilir.