Sınıf yapısı: öznitelikler ve yöntemler

Python'da Nesne Yönelimli Programlama

Alex Yarosh

Content Quality Analyst @ DataCamp

Temel bir sınıf

class Customer:

# sınıf için kod buraya gelir
pass
  • class <name>: bir sınıf tanımını başlatır
  • class içindeki kod girintilidir
  • "boş" bir sınıf oluşturmak için pass kullanın
c1 = Customer()
c2 = Customer()
  • ClassName() kullanarak ClassName sınıfından bir nesne oluşturun
Python'da Nesne Yönelimli Programlama

Bir sınıfa yöntem ekleme

class Customer:  

    def identify(self, name):   
      print("Ben Müşteri " + name)
  • yöntem tanımı = sınıf içindeki fonksiyon tanımı
  • yöntem tanımında self'i ilk argüman olarak kullanın
cust = Customer()
cust.identify("Laura")
Ben Müşteri Laura
  • bir nesne üzerinde yöntem çağırırken self'i görmezden gelin
Python'da Nesne Yönelimli Programlama
class Customer:  

    def identify(self, name):   
      print("Ben Müşteri " + name)

cust = Customer()
cust.identify("Laura")

self nedir?

  • sınıflar şablondur, belirli bir nesnenin verilerine nasıl başvurulur?
  • self, sınıf tanımında belirli bir nesne için kullanılan bir yedek
  • her yöntemin ilk argümanı olmalıdır
  • Python, bir nesneden yöntem çağrıldığında self ile ilgilenecektir:

cust.identify("Laura") şu şekilde yorumlanacaktır Customer.identify(cust, "Laura")

Python'da Nesne Yönelimli Programlama

Özniteliklere ihtiyacımız var

  • Kapsülleme: verileri ve veriler üzerinde çalışan yöntemleri bir araya getirme
  • Örn. Customer'ın adı bir öznitelik olmalıdır

  $$\text{\Large{Öznitelikler yöntemlerde atama (=) ile oluşturulur}}$$

Python'da Nesne Yönelimli Programlama

Sınıfa bir öznitelik ekleyin

class Customer:  
    # bir nesnenin ad özniteliğini new_name olarak ayarlayın
    def set_name(self, new_name):

# Bir değeri atayarak bir öznitelik oluşturun self.name = new_name # <-- set_name çağrıldığında .name oluşturulacak
cust = Customer()                   # <--.name burada henüz mevcut değil

cust.set_name("Lara de Silva") # <--.name oluşturulur ve "Lara de Silva" olarak ayarlanır
print(cust.name) # <--.name kullanılabilir
Lara de Silva
Python'da Nesne Yönelimli Programlama

Eski versiyon

class Customer:  



    # Bir parametre kullanarak
    def identify(self, name):   
      print("Ben Müşteri" + name)
cust = Customer()

cust.identify("Eris Odoro")
Ben Müşteri Eris Odoro

Yeni versiyon

class Customer:  
   def set_name(self, new_name): 
      self.name = new_name

    # Nesneden .name kullanarak
    def identify(self):     
      print("Ben Müşteri" + self.name)
cust = Customer()
cust.set_name("Rashid Volkov")
cust.identify()
Ben Müşteri Rashid Volkov
Python'da Nesne Yönelimli Programlama

Hadi pratik yapalım!

Python'da Nesne Yönelimli Programlama

Preparing Video For Download...