#Membuat Objek Induk(parent)
#Membuat Objek Turunan(Child)
#Membuat Konstruktor //('fungsi Orang.__init__() dieksekusi')
#Fungsi super().__init__() dan KelasInduk.__init__()
#Menambahkan Properti yang tidak ada pada induk
class Orang:
def __init__ (self, nama, asal):
[Link] = nama
[Link] = asal
def perkenalan(self):
print(f'Perkenalkan nama saya {[Link]} berasal dari
{[Link]}')
Joko = Orang('Joko', 'Pontianak')
[Link]()
class Pelajar(Orang):
def __init__(self, nama, asal, sekolah):
super().__init__(nama, asal)
[Link] = sekolah
class Pekerja(Orang):
def __init__(self, nama, asal, tempat_kerja):
Orang.__init__(self, nama, asal)
self.tempat_kerja = tempat_kerja
Andi = Pelajar('Andi', 'Surabaya', "UNTAN")
[Link]()
print(f'Saya bersekolah di {[Link]}')
Budi = Pekerja('Budi', 'Sulawesi', "Mall")
[Link]()
print(f'Saya bekerja di {Budi.tempat_kerja}')
print('\n')
MULTIPLE INHERITANCE
class team:
def setTeam(self,team):
[Link] = team
def showTeam(self):
print([Link])
class profile_hero:
def set_profile(self,profile):
[Link] = profile
def showProfile(self):
print([Link])
class hero(team,profile_hero):
def __init__(self, name, health, magic):
[Link] = name
[Link] = health
[Link] = magic
def profile_hero1(self):
print('\n')
print("Name :", [Link])
print("Health :", [Link])
print("Magic :", [Link])
Knight = hero('Knight',5000, 1000)
[Link]("Position : Front Line")
Knight.set_profile("Trait : Brave")
Knight.profile_hero1()
[Link]()
[Link]()
print('\n')
MULTILEVEL INHERITANCE (PERLU DIBUAT ULANG DGN CONTOH LEBIH JELAS)
class Person:
def method1(self, a, b, c):
self.var1 = a
self.var2 = b
self.var3 = c
class Employee(Person):
pass
class Employee2(Employee):
pass
def main():
obj1 = Person()
obj2 = Employee()
obj3 = Employee2()
obj1.method1(1, 2, 3)
print(obj1.var1, obj1.var2, obj1.var3)
obj2.method1(3, 4, 5)
print(obj2.var1, obj2.var2, obj2.var3)
obj3.method1(0, 8, 9)
print(obj3.var1,obj3.var2,obj3.var3)
if __name__ == "__main__":
main()
#method resolution order
class A:
pass
class B:
def show(self):
print("Show B")
class C(A,B):
pass
objek = C()
[Link]()
#gunakan help(objek) untuk memunculkan urutan atau aturan
#contoh kedua
class A:
def showA(self):
print("Show A")
class B:
def showA(self):
print("Show B")
class C(A, B):
pass
print(C.__mro__)
print([Link]())
diamond problem
class A:
def show(self):
print("Show A")
class B(A):
pass
class C(A):
def show(self):
print("Show C")
class D(B,C):
pass
objek = D()
[Link]()