Menambah Metode

Oleh Infinity29 99 0 pada Rabu, 4 Okt. 2023, 10:10:36


Kembali ke forum soal ini

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


Petunjuk Diskusi
Silahkan masuk untuk berdiskusi



class Kendaraan(object):
  
  km = 0
   
  def __init__(self, nama):
    self.nama = nama
  
  def jalan(self,jarak):
	self.Kendaraan = self.Kendaraan + jarak

mobil = Kendaraan('Mobil')
motor = Kendaraan('Motor')

jalan (mobil)


salahnya dimana ya?
0 jempol


rafiharli
108
0
· 1 tahun, 2 bulan yang lalu · 0 jempol

Self di kode digunakan untuk memanggil atribut, nah kode diatas kamu malah memanggil class. Atribut bersama pada class Kendaraan itu hanya km. 

Jadi seharusnya fungsi jalan bukan memanggil self.Kendaraan = self.Kendaraan + jarak.

Karena fungsi jalan itu menambahkan atribut km dengan parameter jarak, maka kode seharusnya -> self.km = self.km + jarak

rafiharli
108
0
· 1 tahun, 2 bulan yang lalu · 0 jempol

dan pemanggilan fungsi jalan dilakukan dengan cara -> mobil.jalan(jarak)

testismata2023
108
0
· 12 bulan yang lalu · 0 jempol

class Kendaraan(object):
  
  km = 0
   
  def __init__(self, nama):
    self.jarak = nama
  
  def jalan(self,jarak):
	self.Kendaraan = self.Kendaraan + jarak

mobil = Kendaraan('Mobil')
motor = Kendaraan('Motor')

mobil.jalan(jarak)

maaf salahnya dimana ya?

Yanuar07
149
1
· 10 bulan yang lalu · 1 jempol

untuk menyelesaikan nya mungkin bisa seperti ini

class Kendaraan(object):
  
  km = 0
   
  def __init__(self, nama):
    self.nama = nama
  
  def jalan(self, jarak):
    self.km = self.km + jarak


mobil = Kendaraan('Mobil')
motor = Kendaraan('Motor')

# panggil jalan() di sini

mobil.jalan(50)
print mobil.km