Python Nesne Yönelimli Programlama

Bu eğitimde, Python’da Nesne Yönelimli Programlama (OOP) ve temel kavramını örnekler yardımıyla öğreneceksiniz.

Nesne yönelimli programlama

Python çok paradigmalı bir programlama dilidir. Farklı programlama yaklaşımlarını destekler.

Bir programlama problemini çözmenin popüler yaklaşımlarından biri nesneler yaratmaktır. Bu, Nesne Yönelimli Programlama (OOP) olarak bilinir.

Bir nesnenin iki özelliği vardır:

  • Öznitellikler
  • davranış

Bir örnek verelim:

Bir papağan, aşağıdaki özelliklere sahip olduğu için bir nesnedir:

  • nitelik olarak isim, yaş, renk
  • davranış olarak şarkı söylemek, dans etmek

Python’daki OOP kavramı, yeniden kullanılabilir kod oluşturmaya odaklanır. Bu kavram KURU (Kendini Tekrar Etme) olarak da bilinir.

Python’da OOP kavramı bazı temel ilkeleri takip eder:


Sınıf

Sınıf, nesne için bir plandır.

Sınıfı, etiketli bir papağan taslağı olarak düşünebiliriz. Adı, rengi, boyutu vb. ile ilgili tüm detayları içerir. Bu açıklamalara dayanarak papağan hakkında çalışma yapabiliriz. Burada papağan bir nesnedir.

Papağan sınıfı için örnek şunlar olabilir:

Burada classboş bir sınıf tanımlamak için anahtar kelimeyi kullanıyoruz.Papağan. Sınıftan örnekler oluşturuyoruz. Örnek, belirli bir sınıftan oluşturulan belirli bir nesnedir.


Nesne

Bir nesne (örnek), bir sınıfın somutlaştırılmasıdır. Sınıf tanımlandığında, yalnızca nesnenin tanımı tanımlanır. Bu nedenle, bellek veya depolama tahsis edilmez.

Papağan sınıfının nesnesi için örnek şunlar olabilir:

Burada,nesnesınıfın bir nesnesidir Parrot.

Diyelim ki papağanlarla ilgili detaylarımız var. Şimdi papağanların sınıf ve nesnelerinin nasıl oluşturulacağını göstereceğiz.

Örnek 1: Python’da Sınıf ve Nesne Oluşturma

Çıktı

Yukarıdaki programda, adında bir sınıf oluşturduk.Papağan. Daha sonra öznitelikleri tanımlıyoruz. Nitelikler, bir nesnenin bir özelliğidir.

__init__Bu nitelikler , sınıfın yöntemi içinde tanımlanır . Nesne oluşturulur oluşturulmaz ilk çalıştırılan başlatıcı yöntemidir.

Ardından, örneklerini oluşturuyoruzPapağansınıf. Burada,mavivewooyeni nesnelerimize referanslardır (değer).

kullanarak class niteliğine erişebiliriz __class__.species. Sınıf nitelikleri, bir sınıfın tüm örnekleri için aynıdır. blu.nameBenzer şekilde, ve kullanarak örnek özniteliklerine erişiriz blu.age. Ancak, bir sınıfın her örneği için örnek nitelikleri farklıdır.

Sınıflar ve nesneler hakkında daha fazla bilgi edinmek için Python Sınıfları ve Nesneleri’ne gidin.


yöntemler

Yöntemler, bir sınıfın gövdesi içinde tanımlanan işlevlerdir. Bir nesnenin davranışlarını tanımlamak için kullanılırlar.

Örnek 2: Python’da Metot Oluşturma

Çıktı

Yukarıdaki programda iki yöntem tanımlıyoruz, yani sing()ve dance(). Bunlara örnek yöntemler denir, çünkü bunlar bir örnek nesne üzerinde çağrılır, yani blu.


Miras

Kalıtım, mevcut bir sınıfın ayrıntılarını değiştirmeden kullanmak için yeni bir sınıf oluşturmanın bir yoludur. Yeni oluşturulan sınıf, türetilmiş bir sınıftır (veya alt sınıf). Benzer şekilde, mevcut sınıf bir temel sınıftır (veya ana sınıftır).

Örnek 3: Python’da Kalıtımın Kullanımı

Çıktı

Yukarıdaki programda iki sınıf oluşturduk, yaniKuş(ebeveyn sınıfı) vePenguen(çocuk sınıfı). Alt sınıf, ana sınıfın işlevlerini devralır. Bunu swim()yöntemden anlayabiliriz.

Yine, alt sınıf, üst sınıfın davranışını değiştirdi. Bunu whoisThis()yöntemden anlayabiliriz. run()Ayrıca, yeni bir metot oluşturarak ebeveyn sınıfın fonksiyonlarını genişletiyoruz .

Ek olarak, yöntemin super()içindeki işlevi kullanıyoruz. Bu , ebeveyn sınıfın yöntemini alt sınıf içinde __init__()çalıştırmamıza izin verir .__init__()


kapsülleme

Python’da OOP kullanarak yöntemlere ve değişkenlere erişimi kısıtlayabiliriz. Bu, verilerin kapsülleme adı verilen doğrudan değiştirilmesini önler. Python’da, önek olarak alt çizgi kullanarak özel nitelikleri belirtiriz, yani tek _veya çift __.

Örnek 4: Python’da Veri Kapsülleme

Çıktı

Yukarıdaki programda, bir tanımladıkBilgisayarsınıf.

__init__()Maksimum satış fiyatını saklamak için yöntemi kullandık Computer. İşte, koda dikkat edin

Burada, değerini değiştirmeye çalıştık.__maksimum fiyatsınıfın dışında. Ancak, o zamandan beri__maksimum fiyatprivate bir değişkendir, bu değişiklik çıktıda görülmez.

Gösterildiği gibi, değeri değiştirmek için setMaxPrice()parametre olarak fiyatı alan bir ayarlayıcı işlevi kullanmalıyız.


polimorfizm

Polimorfizm, çoklu formlar (veri türleri) için ortak bir arabirim kullanma yeteneğidir (OOP’de).

Diyelim ki bir şekli renklendirmemiz gerekiyor, birden fazla şekil seçeneği var (dikdörtgen, kare, daire). Ancak aynı yöntemi herhangi bir şekli renklendirmek için kullanabiliriz. Bu kavram Polimorfizm olarak adlandırılır.

Örnek 5: Python’da Polimorfizmi Kullanma

Çıktı

Yukarıdaki programda iki sınıf tanımladıkPapağanvePenguen. Her birinin ortak bir fly()yöntemi var. Ancak işlevleri farklıdır.

Polimorfizmi kullanmak için ortak bir arayüz oluşturduk, yani herhangi bir nesneyi alan ve nesnenin yöntemini flying_test()çağıran fonksiyon . fly()Böylece, geçiş yaptığımızdamavivepeggyişlevdeki nesneler, flying_test()etkili bir şekilde çalıştı.


Hatırlanması Gereken Önemli Noktalar:

  • Nesneye Yönelik Programlama, programın anlaşılmasını kolay ve verimli hale getirir.
  • Sınıf paylaşılabilir olduğundan kod yeniden kullanılabilir.
  • Veri soyutlama ile veriler güvenli ve emniyetlidir.
  • Polimorfizm, farklı nesneler için aynı arabirime izin verir, böylece programcılar verimli kod yazabilir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.