Python - Nesneler

İçindekiler
İçinde Nesne yönelimli programlama, nesneler, öznitelikleri aracılığıyla tanımladığımız ve bu öznitelikleri manipüle etmemize ve bunlara erişmemize izin veren bir dizi yönteme sahip olan öğelerin soyut temsilleridir.
var olmak 3 özellik dilin bize sunduğu işlevlere, kitaplıklara ve küresellere bağlı olmak yerine bize kendi nesnelerimizi kullanma nedeni veren bunlar:
  • polimorfizm: aynı işlemlerin farklı sınıflardaki farklı nesneler üzerinde kullanılması.
  • kapsülleme: özniteliklerini nesnenin dışındaki varlıklardan gizleyerek onları koruyabilir.
  • Miras- Daha genel bir yüksek sınıfın temel niteliklerini ve yöntemlerini devralan daha spesifik nesneler oluşturun.

Bu terim birçok formu olduğu anlamına gelir, bu da nesnenin tipine veya sınıfına göre farklı çalışacak işlemleri gerçekleştirebileceğimiz anlamına gelir. Basit bir örnek verelim, bir alışveriş sepetimiz olduğunu düşünelim, sonra fiyat verisini nasıl elde etmek istediğimizi tanımlıyoruz ve aşağıdaki resimde gördüğümüz gibi bir tuple oluşturuyoruz.

Şimdi alışveriş sepetinin işlevselliği genişletilirse ve şimdi müzayedelerle çalışırsak ne olur, bir şekilde alınması gereken değerleri ve aynı yöntemleri kullanırken nasıl davranılacağını, birçok kişinin düşündüğü şekilde belirtmeliyiz. Aşağıdaki formda bir fonksiyon yapmak ise uygun değildir.

Görselde gördüğümüz gibi o anın olasılıklarını ele alıyoruz, ancak işlevsellikler arttığında ne oluyor, bu kodu sonsuza kadar güncellememiz gerekecek, işte burada polimorfizm devreye giriyor ve yaptığımız şey, her birinin her birinin olduğunu tanımlamak. nesne, nasıl hesaplandığına bakılmaksızın fiyatını döndürür, çünkü her sınıfa dahili bir şey olduğundan, aşağıdaki gibi olur:

O zaman bunun, zaman içinde daha dayanıklı, bakımı daha kolay bir koda sahip olmamıza yardımcı olan bir şey olduğunu görebiliriz.
Bu sınıfın iç detaylarını dış dünyadan gizlemekten ibarettir., böylece sadece kendi nesneleri ve yöntemleri ile erişilebilir, bu şekilde sınıflarla iç işleyişini bilmeden çalışabilir, uygulama karmaşıklığını ortadan kaldırabilir ve nesnelerimizin içindeki mantığı koruyabiliriz.
Ayrıca bize izin verir nesnemizdeki verilerin değişmeyeceği güvencesiyle çalışın, çünkü soyut bir şekilde çalışırlarsa, birden çok kez somutlaştırabiliriz ve her örnek tamamen bireyseldir.
Kapsüllenmemiş bir nesne örneğine bakalım:

Burada görüyoruz ki, öyle olmasına rağmen o1 isim kümesini kim yaptı, o2 aynı adı ayarlamadan erişin, bu bir uygulamada sorunlu olur, birkaç ürünün fiyatına ihtiyacımız olduğunu ve her birinin bir öncekinin fiyatının üzerine yazdığını düşünelim.
Şimdi bir kapsülleme ile programın tüm akışının nasıl çalışacağına bakalım.

Burada her cismin adını koruduğunu görüyoruz, bu sayede cisimlerimizin her biri için doğru değerleri alarak güvenli bir şekilde çalışabileceğimizi biliyoruz.
wave wave wave wave wave