Mutable Lagi

Oleh Frits_Sasia24 132 0 pada Sabtu, 22 Juni 2019, 23:10:55


Kembali ke forum soal ini

#python #python-lanjutan #class-di-python


Petunjuk Diskusi
Silahkan masuk untuk berdiskusi



Di code samping mari kita perbaiki penumpang karena tak seharusnya penumpang mobil masuk juga ke motor. Ini terjadi karena penumpang adalah sebuah mutable objek.

Cara memperbaikinya mudah saja yaitu cukup buat properti penumpang menjadi sebuah variabel pribadi.

class Gadget(object):
  pembuat = [] # variabel bersama
  
  def __init__(self):
    self.fitur = [] # variabel pribadi
    
  def tambah_fitur(self, fitur):
    self.fitur.append(fitur)
 
  def tambah_pembuat(self, pembuat):
    self.pembuat.append(pembuat)

hp = Gadget()
tablet = Gadget()

hp.tambah_pembuat("Apple")
tablet.tambah_pembuat("Samsung")

# pembuat di ke dua objek memiliki nilai yg sama
print "hp.pembuat: " + str(hp.pembuat) 
print "tablet.pembuat: " + str(tablet.pembuat)

hp.tambah_fitur("Telepon")
tablet.tambah_fitur("Layar Besar")

# fitur di ke dua objek berbeda
print "hp.fitur: " + str(hp.fitur)
print "tablet.fitur: " + str(tablet.fitur)

Silahkan coba sekali lagi.
Tampaknya ada error di code anda.
Perhatikan output di bawah untuk mengetahui errornya.
Ingat! Kesalahan karakter, urutan, atau nama sangatlah fatal.
AttributeError: 'Kendaraan' object has no attribute 'penumpang'

Tolong bantuannya :)
0 jempol


SegoJagung
108
0
· 5 tahun, 4 bulan yang lalu · 0 jempol

line 2 : apapun=[]
line 4 : def __init__(self, penumpang):
line 5 : self.penumpang = []

done