Python Sınıflar ve Nesneler

Hüseyin

Hüseyin

Üye
Top Poster Of Month
Katılım
21 Ocak 2024
Mesajlar
78
Tepkime puanı
27
Puanları
18
Basitliği ve çok yönlülüğü ile bilinen Python, web geliştirmeden veri analizine kadar çeşitli uygulamalar için kullanılan popüler bir programlama dilidir. Python'u diğerlerinden ayıran en önemli özelliklerden biri nesne yönelimli programlama (OOP) desteğidir.

Sınıflar

Python'da bir sınıf, nesneler oluşturmak için bir plan veya şablondur. Kendisinden örneklenen herhangi bir nesneyi karakterize eden bir nitelikler (değişkenler) ve yöntemler (işlevler) koleksiyonunu tanımlar.Bir sınıfın yapısı sınıf adı, nitelikler ve yöntemlerden oluşur.

“Car” adında basit bir sınıf oluşturarak başlayalım:

Python:
class Car:
    def __init__(self, brand, model, color):
        self.brand = brand
        self.model = model
        self.color = color

    def start_engine(self):
        print(f"The {self.brand} {self.model}'s engine is running.")

    def stop_engine(self):
        print(f"The {self.brand} {self.model}'s engine is stopped.")

Yukarıdaki örnekte, “Car” sınıfını üç öznitelikle tanımlıyoruz: "brand," "model," ve "color.". Ayrıca “start_engine()” ve “stop_engine()” olmak üzere iki metodumuz var.

Nesneler

Bir sınıf tanımladıktan sonra, bu sınıfın nesne olarak bilinen örneklerini oluşturabiliriz. Her nesnenin kendine ait nitelikleri vardır ve sınıfta tanımlanan yöntemleri çağırabilir. Bir nesne oluşturmak için, sınıfı bir fonksiyonmuş gibi çağırırız:

Python:
my_car = Car("Toyota", "Camry", "Blue")

Burada, “Toyota” markası, “Camry” modeli ve “Mavi” rengi ile “my_car” adında bir “Car” sınıfı örneği oluşturuyoruz.

Özniteliklere Erişme ve Yöntemleri Çağırma

Bir nesnenin niteliklerine erişmek için nokta gösterimini kullanırız:

Python:
print(my_car.brand)   # Output: Toyota
print(my_car.model)   # Output: Camry
print(my_car.color)   # Output: Blue


Benzer şekilde, nokta gösterimini kullanarak bir nesnenin yöntemlerini çağırabiliriz:

Python:
my_car.start_engine()     # Output: The Toyota Camry's engine is running.
my_car.stop_engine()      # Output: The Toyota Camry's engine is stopped.


Kalıtım ve Polimorfizm

Kalıtım, nesne yönelimli programlamanın bir diğer önemli yönüdür. Mevcut bir sınıfı (temel sınıf veya üst sınıf) temel alarak yeni bir sınıf (türetilmiş sınıf veya alt sınıf) oluşturmamızı sağlar. Türetilmiş sınıf, temel sınıfın tüm niteliklerini ve yöntemlerini miras alır ve bunları gerektiği gibi genişletebilir veya değiştirebilir.

Aşağıdaki örneği ele alalım:

Python:
class ElectricCar(Car):
    def __init__(self, brand, model, color, battery_capacity):
        super().__init__(brand, model, color)
        self.battery_capacity = battery_capacity

    def display_battery_capacity(self):
        print(f"The {self.brand} {self.model} has a battery capacity of {self.battery_capacity} kWh.")


Bu durumda, “ElectricCar” sınıfı “Car” sınıfından miras alır ve yeni bir “battery_capacity” niteliği ve “display_battery_capacity()” yöntemi ekler.

Öte yandan çok biçimlilik, ortak bir arayüzü veya temel sınıfı paylaştıklarında farklı sınıfların nesnelerinin birbirlerinin yerine kullanılmasına olanak tanır. Bu kavram Python'da kodun yeniden kullanımını ve esnekliğini sağlar.


Python'un sınıflar ve nesneler için desteği, geliştiricilerin temiz, modüler ve yeniden kullanılabilir kod yazmalarını sağlar. Sınıflar, nesneler oluşturmak için bir plan sağlar ve nesneler, verileri ve davranışları birlikte paketlememize olanak tanır. Kalıtım ve çok biçimlilik sayesinde karmaşık sınıf hiyerarşileri oluşturabilir ve kodun yeniden kullanımından etkili bir şekilde yararlanabiliriz.

Python'da sınıfların ve nesnelerin temellerini anlayarak, nesne yönelimli programlamanın gücünü ortaya çıkarabilir ve çok çeşitli programlama görevleri için zarif ve verimli çözümler oluşturabilirsiniz.
 
Geri
Üst