Python Sınıfları ve Nesneye Yönelik Programlama

Python sınıflarına, nesnelerine, kalıtımına ve OOP kavramlarına eksiksiz bir giriş. Sağlam veri modelleri oluşturun ve python uygulamalarınızı ölçeklendirin.

Editör'de deneyin

Genel Bakış

Nesneye Dayalı Programlama (OOP), büyük, karmaşık uygulamaları yapılandırmak için Python'da yoğun olarak kullanılan güçlü bir programlama paradigmasıdır. Sıralı işlevler yazmaya odaklanan prosedürel programlamanın aksine, OOP "nesneler" kavramı etrafında döner. Bir nesne, hem verileri (nitelikler olarak bilinir) hem de davranışları (yöntemler olarak bilinir) bir araya getiren bağımsız bir birimdir.

Python'daki bir 'sınıf', nesneler oluşturmak için bir plan veya şablon görevi görür. Bir sınıfı, bir evin mimari planı gibi düşünün. Planın kendisi bir ev değildir ancak evin neye benzeyeceğini ve hangi özelliklere sahip olacağını tanımlar. Bir sınıfı başlattığınızda, o plandan oluşturulmuş somut bir "nesne" veya "örnek" yaratırsınız. Tek bir sınıftan yüzlerce benzersiz örnek oluşturabilirsiniz.

Python sınıflarının merkezinde, genellikle yapıcı olarak adlandırılan __init__()` yöntemi bulunur. Bu özel yöntem, bir sınıftan yeni bir nesne yaratıldığı anda otomatik olarak yürütülür. Nesnenin varsayılan durumunu başlatmak ve ona belirli nitelikler eklemekten sorumludur. 'self' parametresi, manipüle edilen spesifik nesneye referans olarak hareket ederek örnek yöntemlere zorunlu olarak aktarılır.

OOP'un en güçlü sütunlarından biri Kalıtımdır. Kalıtım, mevcut bir sınıfın (bir üst sınıf) tüm niteliklerini ve yöntemlerini miras alan yeni bir sınıf (bir alt sınıf) oluşturmanıza olanak tanır. Bu, büyük miktarda kodun yeniden kullanımını teşvik eder. Örneğin, genel bir "Araç" sınıfınız olabilir ve ardından "Araç"tan miras alan ancak kendi özel davranışlarını ekleyen "Araba" ve "Kamyon" alt sınıfları oluşturabilirsiniz.

Bir diğer temel kavram ise, bir nesnenin iç durumunun gizlenmesi ve tüm etkileşimin belirlenmiş yöntemlerle gerçekleşmesini gerektirme fikri olan Kapsülleme'dir. Python'un 'özel' veya 'korumalı' gibi katı erişim değiştiricileri olmasa da, bir niteliğin doğrudan sınıf dışından değiştirilmemesi gerektiğini belirtmek için adlandırma kurallarına (bir değişkenin önüne alt çizgi '_' koymak gibi) dayanır.

Kod ve Yürütme Çıkışı

Bir Car nesne örneğinin katı bir temsilini tanımlama ve yerel örnek verilerini değiştirmek için sınıf yöntemlerini kullanma.

oop_example.py
Editör'de deneyin
class Car:
    def __init__(self, make, model):
        self.make = make
        self.model = model
        self.is_running = False

    def start(self):
        self.is_running = True
        return f"{self.make} {self.model} has started."

my_car = Car("Toyota", "Corolla")
print(my_car.make)
print(my_car.start())
Terminal Çıkışı
Toyota
Toyota Corolla has started.

Adım Adım Uygulama

  • Gerçek dünyadaki varlıkları modelleme (Kullanıcılar, Ürünler, Sepetler)
  • Oyun motorları ve varlık bileşeni sistemleri oluşturma
  • Yeniden kullanılabilir grafiksel kullanıcı arayüzü bileşenleri oluşturma

Sıkça Sorulan Sorular

"Benlik" ne anlama geliyor?

"self" sınıfın örneğini temsil eder. Python'da "self" anahtar sözcüğünü kullanarak sınıfın özniteliklerine ve yöntemlerine erişebiliriz.

Python çoklu kalıtımı destekliyor mu?

Evet, Python bir sınıfın birden fazla ebeveyn sınıftan miras almasına izin verir.

İlgili Konular

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.