Sınıf ve örnek öznitelikleri

Python'da Nesne Yönelimli Programlamaya Giriş

George Boorman

Curriculum Manager, DataCamp

Nesne yönelimli programlamanın temel ilkeleri

Kapsülleme:

  • Veri ve metotların bir araya getirilmesi

Kalıtım:

  • Mevcut kodun işlevselliğini genişletme

Çok biçimlilik:

  • Birleştirilmiş bir arayüz oluşturma
Python'da Nesne Yönelimli Programlamaya Giriş

Örnek düzeyi öznitelikler

class Employee:
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary

emp1 = Employee("Teo Mille", 50000) 
emp2 = Employee("Marta Popov", 65000)
  • name ve salary değerleri her nesneye özeldir
  • self nesneye atama yapar
Python'da Nesne Yönelimli Programlamaya Giriş

Sınıf düzeyi öznitelikler

  • Bir sınıfın tüm örnekleri arasında paylaşılan veriler

 

  • Sınıf özniteliklerini class gövdesinde tanımlayın

 

  • Sınıf içindeki “genel değişken”
Python'da Nesne Yönelimli Programlamaya Giriş

Sınıf düzeyi öznitelikleri uygulama

class Employee:
    # Bir sınıf özniteliği tanımlayın
    # self. sözdizimi yok
    MIN_SALARY = 30000 

def __init__(self, name, salary): self.name = name # Sınıf özniteliğine # erişmek için sınıf adını kullanın if salary >= Employee.MIN_SALARY: self.salary = salary
else: self.salary = Employee.MIN_SALARY
  • MIN_SALARY tüm örnekler arasında ortaktır
  • Sınıf özniteliğini tanımlarken self kullanmayın
  • Gelenek büyük harf kullanmaktır
  • Sınıf özniteliğine erişmek için ClassName.ATTR_NAME kullanın
Python'da Nesne Yönelimli Programlamaya Giriş

Sınıf düzeyi öznitelikler

class Employee:
    # Bir sınıf özniteliği tanımlayın
    MIN_SALARY = 30000    

def __init__(self, name, salary): self.name = name # Sınıf özniteliğine # sınıf adıyla erişin if salary >= Employee.MIN_SALARY: self.salary = salary else: self.salary = Employee.MIN_SALARY
emp1 = Employee("John", 40000)
print(emp1.MIN_SALARY)
30000
emp2 = Employee("Jane", 60000)
print(emp2.MIN_SALARY)
30000
Python'da Nesne Yönelimli Programlamaya Giriş

Sınıf düzeyi öznitelikleri değiştirme

emp1 = Employee("John", 40000)
emp2 = Employee("Jane", 60000)

# emp1'in MIN_SALARY değerini güncelleyin emp1.MIN_SALARY = 50000
# Her iki çalışan için MIN_SALARY yazdırın print(emp1.MIN_SALARY) print(emp2.MIN_SALARY)
50000
30000
Python'da Nesne Yönelimli Programlamaya Giriş

Sınıf düzeyi öznitelikleri değiştirme

  • MIN_SALARY sınıf tanımında oluşturulur

 

  • Bir nesnenin MIN_SALARY değerini güncellemek sınıftaki değeri etkilemez

 

  • Güvenlik: yazılımın izinsiz değiştirilmesini önler!
Python'da Nesne Yönelimli Programlamaya Giriş

Neden sınıf öznitelikleri?

Sınıfa ilişkin genel sabitler

 

  • Öznitelikler için alt/üst sınırlar
    • Geçersiz veriyi önleyin
  • Sık kullanılan değer/sabitler, ör. Database sınıfı için host, port
    • Nesne oluştururken tekrarları azaltın
Python'da Nesne Yönelimli Programlamaya Giriş

Hadi pratik yapalım!

Python'da Nesne Yönelimli Programlamaya Giriş

Preparing Video For Download...