Python: Sınıf ve Nesne Tanımlama

Başlatan Moggoo, Ağu 12, 2024, 01:48 ÖS

« önceki - sonraki »

Moggoo

Python Nedir?
Python, günümüzün en popüler programlama dillerinden biridir. Basit ve anlaşılır bir sözdizimine sahip olması, hem yeni başlayanlar hem de profesyonel yazılımcılar için cazip hale getirir. Web geliştirme, veri bilimi, yapay zeka gibi birçok alanda kullanılan Python, esnek yapısı ve güçlü kütüphaneleri sayesinde projelerinizi hızlıca hayata geçirmenize olanak tanır.

Nesne Yönelimli Programlama (OOP) Nedir?
Nesne yönelimli programlama (Object-Oriented Programming, OOP), yazılım geliştirme süreçlerinde nesneler kullanarak problem çözmeyi amaçlayan bir yaklaşımdır. Kapsülleme, soyutlama, kalıtım ve polimorfizm gibi temel prensipler üzerine kurulu olan bu yöntem, kodların daha düzenli, okunabilir ve esnek olmasını sağlar.

Sınıf Nedir?
Sınıf, nesnelerin özelliklerini ve davranışlarını tanımlayan bir şablondur. OOP'nin temel yapı taşı olan sınıflar, nesnelerin nasıl çalışacağını belirler. Bir sınıf, daha sonra onun örneklerini oluşturabileceğiniz bir yapı sunar.

Sınıfların Temel Özellikleri
Sınıflar şu temel özelliklere sahiptir:
  • Kapsülleme: Sınıflar, veri ve bu verilere erişim sağlayan yöntemleri bir arada tutar.
  • Soyutlama: Sınıfın iç işleyişini bilmeden işlevlerinden faydalanabilirsiniz.
  • Kalıtım: Bir sınıf başka bir sınıfın özelliklerini ve yöntemlerini devralabilir. Bu özellik kodun yeniden kullanılabilirliğini artırır.
Sınıf Tanımlama
Python'da sınıf tanımlamak oldukça basittir. Sınıflar class anahtar kelimesi ile tanımlanır:[/font][/size][/color]
class Araba:
    pass
Bu örnekte, `Araba` adında boş bir sınıf tanımladık. Şimdi bu sınıfa özellikler ve metodlar ekleyebiliriz.

Nesne Nedir?
Nesne, bir sınıfın örneğidir. Sınıf tarafından tanımlanan özellikler ve davranışlar nesnelerde somutlaşır. Bir sınıftan nesneler oluşturarak bu nesnelerle çeşitli işlemler gerçekleştirebilirsiniz.

Sınıf ve Nesne Arasındaki Farklar
  • Sınıf: Bir şablondur; özellikler ve metodlar tanımlar.
  • Nesne: Sınıfın bir örneğidir; sınıfta tanımlanan özellikleri ve metodları taşır.
Basit Bir Sınıf Tanımlama Örneği
class Araba:
    def __init__(self, marka, model, yil):
        self.marka = marka
        self.model = model
        self.yil = yil

    def bilgi_goster(self):
        print(f"{self.yil} model {self.marka} {self.model}")

Bu sınıf bir arabanın marka, model ve yıl bilgilerini tutar. `__init__` metodu nesne oluşturulurken çağrılır.

Getter ve Setter Kullanımı
class Araba:
    def __init__(self, marka):
        self.__marka = marka  # Private değişken

    @property
    def marka(self):
        return self.__marka

    @marka.setter
    def marka(self, yeni_marka):
        self.__marka = yeni_marka

Bu örnekte `marka` özelliği private olarak tanımlandı ve getter/setter ile kontrol sağlandı.

Miras Alma (Inheritance)
class TicariAraba(Araba):
    def __init__(self, marka, model, yil, kapasite):
        super().__init__(marka, model, yil)
        self.kapasite = kapasite

    def bilgi_goster(self):
        super().bilgi_goster()
        print(f"Kapasite: {self.kapasite} kişi")

Bu örnekte `TicariAraba` sınıfı `Araba` sınıfından miras almıştır.

Polimorfizm Örnekleri
class Ağaç:
    def ses(self):
        print("Ağaç rüzgarda hışırdar.")

class Kuş:
    def ses(self):
        print("Kuş cıvıldar.")

def ses_cikar(nesne):
    nesne.ses()

a = Ağaç()
k = Kuş()
ses_cikar(a)  # Çıktı: Ağaç rüzgarda hışırdar.
ses_cikar(k)  # Çıktı: Kuş cıvıldar.

Burada `ses` metodu farklı nesnelerde farklı sonuçlar vermektedir.

Sonuç: Python'da sınıflar ve nesneler yazılım geliştirmede düzeni artırır ve projelerin sürdürülebilirliğini sağlar. OOP prensiplerini öğrenerek daha etkili yazılımlar geliştirebilirsiniz.