Anatomi kelas: atribut dan metode

Pemrograman Berorientasi Objek di Python

Alex Yarosh

Content Quality Analyst @ DataCamp

Kelas dasar

class Customer:

# kode untuk kelas ada di sini
pass
  • class <name>: memulai definisi kelas
  • kode di dalam class diindentasi
  • gunakan pass untuk membuat kelas "kosong"
c1 = Customer()
c2 = Customer()
  • gunakan ClassName() untuk membuat objek dari kelas ClassName
Pemrograman Berorientasi Objek di Python

Menambahkan metode ke kelas

class Customer:  

    def identify(self, name):   
      print("Saya adalah Customer " + name)
  • definisi metode = definisi fungsi dalam kelas
  • gunakan self sebagai argumen pertama dalam definisi metode
cust = Customer()
cust.identify("Laura")
Saya adalah Customer Laura
  • abaikan self saat memanggil metode pada objek
Pemrograman Berorientasi Objek di Python
class Customer:  

    def identify(self, name):   
      print("Saya adalah Customer " + name)

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

Apa itu self?

  • kelas adalah template, bagaimana merujuk data dari objek tertentu?
  • self adalah pengganti untuk objek tertentu yang digunakan dalam definisi kelas
  • harus menjadi argumen pertama dari setiap metode
  • Python akan menangani self saat metode dipanggil dari objek:

cust.identify("Laura") akan diinterpretasikan sebagai Customer.identify(cust, "Laura")

Pemrograman Berorientasi Objek di Python

Kita butuh atribut

  • Enkapsulasi: menggabungkan data dengan metode yang mengoperasikan data
  • Misalnya, nama Customer harus menjadi atribut

  $$\text{\Large{Atribut dibuat dengan penugasan (=) dalam metode}}$$

Pemrograman Berorientasi Objek di Python

Menambahkan atribut ke kelas

class Customer:  
    # menetapkan atribut nama dari objek ke new_name
    def set_name(self, new_name):

# Membuat atribut dengan menetapkan nilai self.name = new_name # <-- akan membuat .name saat set_name dipanggil
cust = Customer()                   # <--.name belum ada di sini

cust.set_name("Lara de Silva") # <--.name dibuat dan diatur ke "Lara de Silva"
print(cust.name) # <--.name dapat digunakan
Lara de Silva
Pemrograman Berorientasi Objek di Python

Versi lama

class Customer:  



    # Menggunakan parameter
    def identify(self, name):   
      print("Saya adalah Customer" + name)
cust = Customer()

cust.identify("Eris Odoro")
Saya adalah Customer Eris Odoro

Versi baru

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

    # Menggunakan .name dari objek itu*self*
    def identify(self):     
      print("Saya adalah Customer" + self.name)
cust = Customer()
cust.set_name("Rashid Volkov")
cust.identify()
Saya adalah Customer Rashid Volkov
Pemrograman Berorientasi Objek di Python

Mari berlatih!

Pemrograman Berorientasi Objek di Python

Preparing Video For Download...