Selamat

Pengantar Pemrograman Berorientasi Objek di Python

George Boorman

Curriculum Manager, DataCamp

Class dan object

Istilah Definisi
Class Sebuah blueprint/templat untuk membuat objek
Object Gabungan data dan fungsionalitas; instance dari sebuah class
Pengantar Pemrograman Berorientasi Objek di Python

Attribute dan method

Istilah Definisi
Class Sebuah blueprint/templat untuk membuat objek
Object Gabungan data dan fungsionalitas; instance dari sebuah class
State Data milik objek, ditetapkan lewat attribute
Behavior Fungsionalitas objek, didefinisikan lewat method
Pengantar Pemrograman Berorientasi Objek di Python

Konsep inti

Encapsulation:

  • Menggabungkan data dan method

Inheritance:

  • Memperluas fungsionalitas kode yang ada

Polymorphism:

  • Membuat antarmuka yang seragam
Pengantar Pemrograman Berorientasi Objek di Python

Perbandingan

Operator Method
== __eq__()
!= __ne__()
>= __ge__()
<= __le__()
> __gt__()
< __lt__()
Pengantar Pemrograman Berorientasi Objek di Python

Representasi string

__str__()

  • print(obj), str(obj)
print([1,2,3])
[1 2 3]
str([1,2,3])
'[1, 2, 3]' 
  • informal, untuk pengguna akhir
  • representasi string

__repr__()

  • repr(obj), cetak di konsol
repr([1,2,3])
[1,2,3]
[1,2,3]
[1,2,3]
  • formal, untuk developer
  • representasi reproducible representation
  • fallback untuk print()
Pengantar Pemrograman Berorientasi Objek di Python

Penanganan error

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)
Pengantar Pemrograman Berorientasi Objek di Python

Selanjutnya apa?

  • Multiple inheritance
  • Descriptors
  • Custom attributes
  • Custom iterators
  • Type hints
  • Abstract base classes
Pengantar Pemrograman Berorientasi Objek di Python

Ayo berlatih!

Pengantar Pemrograman Berorientasi Objek di Python

Preparing Video For Download...