-
Notifications
You must be signed in to change notification settings - Fork 0
/
Inheritance_override.py
39 lines (31 loc) · 1.4 KB
/
Inheritance_override.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#INHERITANCE
#class mengambil metode dari class lain
#OVERRIDE
#mengganti dan memanggil fungsi dari class lain
#sintax >> super(namaclass_anak,self).nama_fungsi
#contoh
class kendaraan(object): #class induk
def __init__(self,nama,roda): #fungsi identitas
self.nama=nama
self.roda=roda
self.penumpang=[] #array kosong
def tambah_penumpang(self,nama_penumpang):
self.penumpang.append(nama_penumpang) #membuat parameter nama_penumpang utuk mengisi array
def buka_pintu(self):
print('Buka pintu Kendaraan')
class mobil(kendaraan): #class anak
pintu_terbuka=False
def buka_pintu(self):
self.pintu_terbuka=True
print('Buka pintu Mobil')
super(mobil, self).buka_pintu() #override = memanggil fungsi induk
def tutup_pintu(self):
self.pintu_terbuka=False
mobnas=mobil("Lamborghini",4) #mengisi value fungsi diclass
mobnas.tambah_penumpang("ukon") #menambah value array difungsi induk
mobnas.tambah_penumpang("alan")
mobnas.tambah_penumpang("adol")
mobnas.buka_pintu() #memanggil fungsi buka_pintu diclass induk dan anak
print("penumpang : "+str(mobnas.penumpang)) #mencetak nilai array penumpang
print("pintu terbuka : "+str(mobnas.pintu_terbuka))
print("kendaraan: ",mobnas.nama+" roda "+str(mobnas.roda)) #mencetak fungsi nama dan roda di class induk