Python OOP'ler: Örnekle Sınıf, Nesne, Kalıtım ve Yapıcı

OOP'lar Python

OOP'lar Python 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. Sınıflar ve nesneler oluşturmak çok kolaydır. Python.

Sınıf Nedir?

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

Örneğin, müşteri bilgilerini çevrimiçi olarak almak isteyen herhangi bir banka çalışanı şuraya gider: müşteri sınıfı, işlem detayları, çekim ve yatırma detayları, ödenmemiş borçlar vb. gibi tüm niteliklerin listeleneceği bir sayfadır.

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

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

) 1 Adım In Python, sınıflar tarafından tanımlanır "Sınıf" Anahtar kelime

class myClass():

) 2 Adım 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 “Guru1” yazdıran yöntem99'i tanımladık.
  • Tanımladığımız bir diğer yöntem ise “Yazılım Testi” + SomeString yazdıran yöntem2'dir. SomeString çağıran yöntemin sağladığı değişkendir

) 3 Adım Bir sınıftaki her şey girintilidir, tıpkı fonksiyondaki kod, döngü, if ifadesi vb. gibi. Girintisiz olan hiçbir şey sınıfta değildir

Tanımlama Python sınıflar

NOT: “self” kullanımı hakkında Python

  • Öz-argüman nesnenin kendisine gönderme yapar. Bu nedenle benlik sözcüğünün kullanımı. Yani bu yöntemin içinde self, üzerinde çalışılan bu nesnenin spesifik örneğini ifade edecektir.
  • Benlik, geleneksel olarak tercih edilen isimdir. Pythonörnek yöntemlerin ilk parametresini belirtmek için s Python. Bu bir parçası Python nesnelerin üyelerine erişmek için sözdizimi

) 4 Adım Sınıfın bir nesnesini yapmak için

c = myClass()

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

c.method1()
    c.method2(" Testing is fun")
  • Yöntem1 veya yöntem2'yi çağırdığımızda, kendi anahtar sözcüğünü sağlamamız gerekmediğine dikkat edin. Bu bizim için otomatik olarak gerçekleştirilir. Python Çalışma süresi.
  • Python Örnekte bir örnek yöntemini çağırdığınızda, kasıtlı olarak sağlasanız da sağlamasanız da, çalışma zamanı "self" değerini iletecektir
  • Sadece kişisel olmayan argümanları önemsemek zorundasın

) 6 Adım İşte kodun tamamı

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  def method2(self,someString):    
      print("Software Testing:" + someString)
  
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()

Miras nasıl çalışır?

Kalıtım, nesne yönelimli programlamada kullanılan bir özelliktir; mevcut bir sınıfta daha az değişiklik yaparak veya hiç değişiklik yapmadan yeni bir sınıfın tanımlanmasını ifade eder. Yeni sınıf denir Türetilmiş sınıf ve miras aldığı kişiden denir baz. Python mirası destekler; o da destekliyor çoklu miras. 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 miras alabilir.

Tanımlama Python sınıflar

Python Kalıtım Sözdizimi

class DerivedClass(BaseClass):
    body_of_derived_class

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

# Example file for working with classes
class 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 methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

ChildClass'ta yöntem1'in tanımlanmadığına ancak myClass'ın ebeveyninden türetildiğine dikkat edin. Çıktı “Guru99”dur.

) 2 Adım Satır # 8 ve 10'un açıklamasını kaldırın. Kodu çalıştırın

Artık yöntem 1, childClass'ta tanımlandı ve “childClass Method1” çıktısı doğru şekilde gösterildi.

) 3 Adım 9. Satırın yorumunu kaldırın. Kodu çalıştır

Sözdizimini kullanarak ebeveyn sınıfın bir yöntemini çağırabilirsiniz.

ParentClassName.MethodName(self)

Bizim durumumuzda myClass.method1(self) adını veriyoruz ve Guru99 beklendiği gibi yazdırılıyor

4. Adım) 19. Satırdaki açıklamayı bırakın. Kodu çalıştırın.

Alt sınıfın Yöntem 2'si çağrılır ve beklendiği gibi “childClass method2” yazdırılır.

Python Kurucular

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

Çift alt çizgi (_) ile başlar. __init__() metodu

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 = name

    def sayHello(self):
        print("Welcome to Guru99, " + self.name)

User1 = User("Alex")
User1.sayHello()

Çıktı şöyle olacaktır:

Guru99'a hoş geldin Alex

Python 2 Örnek

Yukarıdaki kodlar Python 3 örnek, Eğer koşmak istiyorsanız Python 2 Lütfen aşağıdaki kodu dikkate alın.

# How to define Python classes
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
  def method2(self,someString):    
      print "Software Testing:" + someString
      
   
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()


#How Inheritance works
# Example file for working with classes
class 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 methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

Bir sonraki eğitimimizi öğrenin Polimorfizm Python

ÖZET

“Sınıf”, işlevlerin ve verilerin mantıksal bir gruplamasıdır. Python class, Nesneye Yönelik 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 anahtar kelimeye göre tanımlanır "sınıf" kendisi
  • 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ı fonksiyondaki kod, döngü, if ifadesi vb. gibi girintilidir.
  • Kendi kendine argüman Python nesnenin kendisini ifade eder. Benlik, geleneksel olarak tercih edilen isimdir. Pythonörnek yöntemlerin ilk parametresini belirtmek için s Python
  • Python Örneğin, bir örnek yöntemini çağırdığınızda, kasıtlı olarak sağlasanız da sağlamasanız da, çalışma zamanı "self" değerini otomatik olarak iletecektir.
  • In PythonBir 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 miras alabilir.