Sınıf anatomisi: öznitelikler ve yöntemler

Python'da Nesne Yönelimli Programlamaya Giriş

George Boorman

Curriculum Manager, DataCamp

Bir Customer sınıfı

class Customer:

# Sınıfın kodu 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 için pass kullanın
c_one = Customer()
c_two = Customer()
  • ClassName() ile ClassName sınıfından bir nesne oluşturun
Python'da Nesne Yönelimli Programlamaya Giriş

Bir sınıfa yöntem ekleme

class Customer:  

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

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

self nedir?

  • Sınıflar şablondur
  • self her yöntemin ilk argümanı olmalıdır
  • self, (henüz oluşturulmamış) nesnenin yerine geçer
  • cust.identify("Laura"), Customer.identify(cust, "Laura") olarak yorumlanır
Python'da Nesne Yönelimli Programlamaya Giriş

Özniteliklere ihtiyacımız var

  • OOP, veriyi bu veriler üzerinde çalışan yöntemlerle birleştirir
    • Customerın adının bir öznitelik olması gerekir

 

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

Python'da Nesne Yönelimli Programlamaya Giriş

Sınıfa bir öznitelik ekleme

class Customer:  
    # Bir nesnenin name özniteliğini new_name değerine ayarla
    def set_name(self, new_name):

# Atama ile bir öznitelik oluştur # set_name çağrıldığında .name oluşturulacak self.name = new_name
# Bir nesne oluştur # .name burada henüz yok cust = Customer()
# .name oluşturulur ve "Lara de Silva" olarak ayarlanır cust.set_name("Lara de Silva")
print(cust.name)
Lara de Silva
Python'da Nesne Yönelimli Programlamaya Giriş

Eski sürüm

class Customer:  



    # Bir parametre kullanma
    def identify(self, name):
        print("I am Customer" + name)
cust = Customer()

cust.identify("Eris Odoro") 
I am Customer Eris Odoro 

Yeni sürüm

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

# Nesnenin kendisindeki .name'i kullanma def identify(self): print("I am Customer" + self.name)
cust = Customer()
cust.set_name("Rashid Volkov")
cust.identify()
I am Customer Rashid Volkov
Python'da Nesne Yönelimli Programlamaya Giriş

Hadi pratik yapalım!

Python'da Nesne Yönelimli Programlamaya Giriş

Preparing Video For Download...