Tebrikler

Python'da Nesne Yönelimli Programlamaya Giriş

George Boorman

Curriculum Manager, DataCamp

Sınıflar ve nesneler

Terim Tanım
Sınıf Nesneler oluşturmak için bir taslak/şablon
Nesne Veri ve işlevselliğin birleşimi; bir sınıfın örneği
Python'da Nesne Yönelimli Programlamaya Giriş

Öznitelikler ve yöntemler

Terim Tanım
Sınıf Nesneler oluşturmak için bir taslak/şablon
Nesne Veri ve işlevselliğin birleşimi; bir sınıfın örneği
Durum Bir nesneyle ilişkilendirilen veri, öznitelikler ile atanır
Davranış Bir nesnenin işlevselliği, yöntemler ile tanımlanır
Python'da Nesne Yönelimli Programlamaya Giriş

Temel kavramlar

Kapsülleme:

  • Veri ve yöntemleri bir araya getirme

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ş

Karşılaştırmalar

Operatör Yöntem
== __eq__()
!= __ne__()
>= __ge__()
<= __le__()
> __gt__()
< __lt__()
Python'da Nesne Yönelimli Programlamaya Giriş

Dize temsili

__str__()

  • print(obj), str(obj)
print([1,2,3])
[1 2 3]
str([1,2,3])
'[1, 2, 3]' 
  • gayriresmî, son kullanıcı için
  • string temsili

__repr__()

  • repr(obj), konsolda yazdırma
repr([1,2,3])
[1,2,3]
[1,2,3]
[1,2,3]
  • resmî, geliştirici için
  • reproduce edilebilir representasyon
  • print() için yedek
Python'da Nesne Yönelimli Programlamaya Giriş

Hata yönetimi

class BalanceError(Exception): 
    pass

class Customer: def __init__(self, name, balance): if balance < 0 : raise BalanceError("Balance has to be non-negative!") else: self.name, self.balance = name, balance
# Use try-except to catch errors try: cust = Customer("Larry Torres", -100) except BalanceError: cust = Customer("Larry Torres", 0)
Python'da Nesne Yönelimli Programlamaya Giriş

Sırada ne var?

  • Çoklu kalıtım
  • Tanımlayıcılar
  • Özel öznitelikler
  • Özel yineleyiciler
  • Tür ipuçları
  • Soyut taban sınıflar
Python'da Nesne Yönelimli Programlamaya Giriş

Hadi pratik yapalım!

Python'da Nesne Yönelimli Programlamaya Giriş

Preparing Video For Download...