Mutable Lagi

Oleh Arib_fauzan 212 44 pada Jumat, 28 Okt. 2016, 08:57:40


Kembali ke forum soal ini

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


Petunjuk Diskusi
Silahkan masuk untuk berdiskusi



mentok disini gan, masih bingung cara memperbaikinya :
class Kendaraan(object):
  penumpang = []
  
  def __init__(self, nama):
    self.nama = nama
 
  def tambah_penumpang(self, nama_penumpang):
    self.penumpang.append(nama_penumpang)
    
# Code di bawah ini untuk anda memeriksa sendiri
# apakah code anda sudah benar
mobil = Kendaraan("Mobil")
motor = Kendaraan("Motor")

mobil.tambah_penumpang("Michael Schumacher")
mobil.tambah_penumpang("Rio Haryanto")

motor.tambah_penumpang("Nico Rosberg")

# Hasilnya haruslah berbeda
print motor.penumpang
print mobil.penumpang

 Instruksi:

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.
1 jempol


Arib_fauzan
212
44
penanya
· 8 tahun yang lalu · 0 jempol

makasih gan udah tahu

Irawan_bs
300
8
· 8 tahun yang lalu · 1 jempol

Salam diskusi
Bisa jg dengan mengubah isi inisialisasi dengan 

class Kendaraan(object):

  penumpang = []

  

  def __init__(self, nama):

    self.nama = []

 

  def tambah_penumpang(self, nama_penumpang):

    self.nama.append(nama_penumpang)

    

# Code di bawah ini untuk anda memeriksa sendiri

# apakah code anda sudah benar

mobil = Kendaraan("Mobil")

motor = Kendaraan("Motor")

 

mobil.tambah_penumpang("Michael Schumacher")

mobil.tambah_penumpang("Rio Haryanto")

 

motor.tambah_penumpang("Nico Rosberg")

 

# Hasilnya haruslah berbeda

print motor.penumpang

print mobil.penumpang

 

print mobil.nama

print motor.nama

Ini mengubah batasan/permintaan dari soal yang diminta.

Happy coding