Python'da Kalıtım ve Sınıflar

İçindekiler
Kalıtım, çok fazla çalışmak zorunda kalmamayı teşvik etmenin yollarından biridir, aynı kodu birkaç kez kodlamaktan kaçınmamıza yardımcı olur, belki bunu fonksiyonlarla yapabileceğimizi düşünebiliriz, ancak bir sınıfımız olduğunda ve istediğimizde ne olur? sadece bir ya da iki yönü değiştiren çok benzer bir tane yapmak, işte burada devreye giriyor.
Kalıtım, üstün ve soyut bir sınıfın niteliklerini ve yöntemlerini, ister daha spesifik hale getirmek istersek eylem yelpazesini genişleterek çok daha soyut hale getirmek isteyelim, diğerine aktarmaktan başka bir şey değildir.
Bir an için dikdörtgen bir sınıf yapmamız gerektiğini düşünelim, dikdörtgen tanımlanmış bir geometrik şekil olduğu için bu oldukça spesifik bir şey, ancak diğer şekillerle ortak özelliklere sahip olmasına rağmen, belirli bir sınıf yapmak yerine bir sınıf yapsak nasıl olur? Ortak yönleri ve öznitelikleri içeren Figures sınıfı ve ardından dikdörtgen sınıfımız bu öznitelikleri devralır ve sonra yalnızca belirli yöntemleri ve öznitelikleri eklememiz gerekir.
Bir sınıf, üzerinde nesneler oluşturabileceğimiz, soyut olarak tanımlanmış nitelikler ve yöntemler koleksiyonundan başka bir şey değildir. Gerçek hayatta bir örneğini görebiliriz, pencereden bir kuş görürsek bunun kuşlar sınıfına ait olduğunu bilmeliyiz ama bu kuş kartal ise o zaman kartal alt sınıflarından biri olduğunu söyleriz. sırayla kuş sınıfına aittir ve böylece daha yüksek bir soyut seviyeden (Kuş) daha spesifik bir seviyeye (kartal) belirlemeye devam edebiliriz ve kartalın özellikleri onu tanımlayan ve diğer kuşlardan ayıran şeydir.
Python'da sınıflarımızı nasıl oluşturacağımıza dair küçük bir örnek görelim.

Gördüğümüz gibi, bir kişi sınıfı tanımlıyoruz ve ana niteliği isimdir, isim atamak ve danışmak için birkaç yöntem ve nesneye kimliğini söylememizi sağlayan bir selamlama yöntemi oluşturuyoruz.
Tüm bunların basit bir program bağlamında nasıl çalışacağını görelim.

BÜYÜT

Foo = Person () atamasına bakarsak, gerçekten yaptığımız şey Person () türünde bir nesne yaratmaktır, yani şimdi foo, Person sınıfının özniteliklerine ve yöntemlerine erişime sahip olacaktır.
Sonra iki farklı nesne için setName() yöntemini çağırdığımızı görüyoruz, burada zaten her birini farklı niteliklerle belirtiyoruz, ancak bunların aynı sınıfa ait olduğunu, birkaç paragraf gördüğümüz kartal örneğine benzer bir şey. evvel.
Sonunda greet() yöntemi çağrılırken, her nesne aynı soyut kökenden başlamasına rağmen farklılığını gösterir. Bu şekilde, her nesne için bir tanım kodu yazmak zorunda kalmadık, sadece Person sınıfının soyut kodunu yeniden kullandık.
Bununla, bu öğreticiyi bitiriyoruz, uygulamaya ve derinleştirmeye devam etmemiz gereken bir teori, çünkü bu, nesne yönelimli programlamanın temelidir ve bu, birçok işlevsellikten yararlanmamıza izin verecektir. piton.
wave wave wave wave wave