Python OOP'leri: Örnekle Sınıf, Nesne, Devralma ve Oluşturucu

İçindekiler:

Anonim

Python'da OOP'ler

Python'daki OOP'ler, nesneleri ve sınıfları diğer genel programlama dilleriyle aynı şekilde kullanmaya odaklanan bir programlama yaklaşımıdır. Nesneler herhangi bir gerçek dünya varlığı olabilir. Python, geliştiricilerin, kodun yeniden kullanılabilirliğine odaklanarak OOP yaklaşımını kullanarak uygulamalar geliştirmelerine olanak tanır. Python'da sınıflar ve nesneler oluşturmak çok kolaydır.

Sınıf nedir?

Python'da bir Sınıf, verilerin ve işlevlerin mantıksal bir gruplamasıdır. Keyfi içerik barındıran ve dolayısıyla kolayca erişilebilen veri yapıları oluşturma özgürlüğü verir.

Örneğin, müşteri ayrıntılarını çevrimiçi olarak almak isteyen herhangi bir banka çalışanı , işlem ayrıntıları, para çekme ve para yatırma ayrıntıları, ödenmemiş borç vb. Gibi tüm özelliklerinin listeleneceği müşteri sınıfına gidecektir .

Bu eğitimde öğreneceğiz,

  • Python sınıfları nasıl tanımlanır
  • Kalıtım nasıl çalışır?
  • Python Oluşturucular

Python sınıfları nasıl tanımlanır

Sınıfı tanımlamak için aşağıdaki noktaları göz önünde bulundurmanız gerekir

Adım 1) Python'da, sınıflar "Class" anahtar sözcüğü ile tanımlanır

class myClass():

Adım 2) Sınıfların içinde, bu sınıfın parçası olan işlevleri veya yöntemleri tanımlayabilirsiniz.

def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
  • Burada "Guru99" yazan method1'i tanımladık.
  • Tanımladığımız diğer bir yöntem de "Yazılım Testi" + SomeString yazan yöntem2'dir. SomeString, çağırma yöntemi tarafından sağlanan değişkendir

Adım 3) Bir sınıftaki her şey, tıpkı işlevdeki, döngüdeki, if deyimindeki vb. Kod gibi girintilidir. Girintili olmayan hiçbir şey sınıfta değildir.

NOT : Python'da "self" kullanımı hakkında

  • Öz argüman, nesnenin kendisine atıfta bulunur. Bu nedenle öz kelimesinin kullanımı. Yani bu yöntemin içinde, self, üzerinde çalıştırılan bu nesnenin belirli bir örneğine atıfta bulunacaktır.
  • Kendi kendine, Pythons tarafından Python'daki örnek yöntemlerinin ilk parametresini belirtmek için tercih edilen addır. Nesnelerin üyelerine erişmek için Python sözdiziminin bir parçasıdır

Adım 4) Sınıfın bir nesnesini yapmak

c = myClass()

Adım 5) Bir sınıftaki bir yöntemi çağırmak için

c.method1()c.method2(" Testing is fun")
  • Method1 veya method2'yi çağırdığımızda, self-anahtar sözcüğünü sağlamamız gerekmediğine dikkat edin. Bu bizim için otomatik olarak Python çalışma zamanı tarafından ele alınır.
  • Python çalışma zamanı, kasıtlı olarak sağlasanız da sağlamasanız da örnekte bir örnek yöntemi çağırdığınızda "self" değerini iletir
  • Sadece öz olmayan argümanları önemsemelisin

Adım 6) İşte tam kod

# Sınıflarla çalışmak için örnek dosyaclass myClass ():def method1 (kendi):baskı ("Guru99")def method2 (self, someString):print ("Yazılım Testi: + someString)def main ():# sınıf yöntemlerini uygulayınc = sınıfım ()c.method1 ()c.method2 ("Test eğlencelidir")__name __ == "__main__" ise:ana()

Kalıtım nasıl çalışır?

Kalıtım, nesne yönelimli programlamada kullanılan bir özelliktir; mevcut bir sınıfa daha az veya hiç değişiklik yapılmadan yeni bir sınıf tanımlamayı ifade eder. Yeni sınıfa türetilmiş sınıf ve miras aldığı sınıfa temel adı verilir . Python, kalıtımı destekler; aynı zamanda çoklu kalıtımı da destekler . Bir sınıf, alt sınıf veya mirasçı sınıf adı verilen başka bir sınıftan öznitelikleri ve davranış yöntemlerini devralabilir.

Python Devralma Sözdizimi

class DerivedClass(BaseClass):body_of_derived_class

Adım 1) Aşağıdaki kodu çalıştırın

# Sınıflarla çalışmak için örnek dosyaclass myClass ():def method1 (kendi):baskı ("Guru99")class childClass (myClass):#def method1 (kendi):# sınıfım.metod1 (öz);#print ("childClass Method1")def method2 (kendi):baskı ("childClass method2")def main ():# sınıf yöntemlerini uygulayınc2 = childClass ()c2.method1 ()# c2.method2 ()__name __ == "__main__" ise:ana()

ChildClass, method1 öğesinin tanımlı olmadığına, ancak üst myClass öğesinden türetildiğine dikkat edin. Çıktı "Guru99" dur.

Adım 2) Yorumsuz Satır # 8 ve 10. Kodu çalıştırın

Şimdi, yöntem 1 childClass'ta tanımlanmıştır ve "childClass Method1" çıktısı doğru şekilde gösterilmektedir.

Adım 3) Yorumlama Satırı # 9. Kodu çalıştırın

Sözdizimini kullanarak üst sınıfın bir yöntemini çağırabilirsiniz

ParentClassName.MethodName(self)

Bizim durumumuzda, myClass.method1 (self) ve Guru99 diyoruz beklendiği gibi yazdırılıyor

Adım 4 ) Yorumsuz Satır # 19. Kodu çalıştırın.

Alt sınıfın 2. yöntemi çağrılır ve "childClass method2" beklendiği gibi yazdırılır.

Python Oluşturucular

Yapıcı, bir nesneyi önceden tanımlanmış değerlere örnekleyen bir sınıf işlevidir.

Çift alt çizgiyle (_) başlar. __İnit __ () yöntemi

Aşağıdaki örnekte, yapıcıyı kullanarak kullanıcının adını alıyoruz.

class User:name = ""def __init__(self, name):self.name = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()

Çıktı şu şekilde olacaktır:

Guru99'a hoş geldiniz, Alex

Python 2 Örneği

Yukarıdaki kodlar Python 3 örnekleridir, Python 2'de çalıştırmak istiyorsanız lütfen aşağıdaki kodu göz önünde bulundurun.

# How to define Python classes# Example file for working with classesclass myClass():def method1(self):print "Guru99"def method2(self,someString):print "Software Testing: + someStringdef main():# exercise the class methodsc = myClass ()c.method1()c.method2(" Testing is fun")if __name__== "__main__":main()#How Inheritance works# Example file for working with classesclass myClass():def method1(self):print "Guru99"class childClass(myClass):#def method1(self):#myClass.method1(self);#print "childClass Method1"def method2(self):print "childClass method2"def main():# exercise the class methodsc2 = childClass()c2.method1()#c2.method2()if __name__== "__main__":main()

Özet:

"Sınıf", işlevlerin ve verilerin mantıksal bir gruplamasıdır. Python sınıfı, Nesne Yönelimli Programlamanın tüm standart özelliklerini sağlar.

  • Sınıf miras mekanizması
  • Temel sınıfının herhangi bir yöntemini geçersiz kılan türetilmiş bir sınıf
  • Bir yöntem, aynı ada sahip bir temel sınıfın yöntemini çağırabilir
  • Python Sınıfları, "sınıf" anahtar kelimesinin kendisi tarafından tanımlanır
  • Sınıfların içinde, sınıfın parçası olan işlevleri veya yöntemleri tanımlayabilirsiniz.
  • Bir sınıftaki her şey, tıpkı işlevdeki, döngüdeki, if deyimindeki vb. Kod gibi girintilidir.
  • Python'daki self argümanı nesnenin kendisine atıfta bulunur. Kendi kendine, Pythons tarafından Python'daki örnek yöntemlerinin ilk parametresini belirtmek için tercih edilen addır.
  • Python çalışma zamanı, kasıtlı olarak sağlasanız da sağlamasanız da örnekte bir örnek yöntemini çağırdığınızda otomatik olarak "self" değerini iletir.
  • Python'da bir sınıf, alt sınıf veya mirasçı sınıf adı verilen başka bir sınıftan nitelikleri ve davranış yöntemlerini devralabilir.