8000 operator overloading · jagongoding-com/python-menengah@38dca51 · GitHub
[go: up one dir, main page]

Skip to content

Commit 38dca51

Browse files
committed
operator overloading
1 parent 6b27fb9 commit 38dca51

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
class Angka:
2+
def __init__(self, angka):
3+
self.angka = angka
4+
5+
def __add__(self, objek):
6+
return Angka(
7+
self.angka + objek.angka
8+
)
9+
10+
def __sub__(self, objek):
11+
return Angka(
12+
self.angka - objek.angka
13+
)
14+
15+
def __mul__(self, objek):
16+
return Angka(
17+
self.angka * objek.angka
18+
)
19+
20+
def __truediv__(self, objek):
21+
return Angka(
22+
self.angka / objek.angka
23+
)
24+
25+
x1 = Angka(20)
26+
x2 = Angka(10)
27+
x3 = x1 + x2
28+
29+
print(x3.angka)
30+
print((x1 - x2).angka)
31+
print((x1 * x2).angka)
32+
print((x1 / x2).angka)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Angka:
2+
def __init__(self, angka):
3+
self.angka = angka
4+
5+
def __gt__(self, objek):
6+
return self.angka > objek.angka
7+
8+
def __lt__(self, objek):
9+
return self.angka < objek.angka
10+
11+
def __eq__(self, objek):
12+
return self.angka == objek.angka
13+
14+
x1 = Angka(20)
15+
x2 = Angka(10)
16+
17+
print(x1 > x2)
18+
print(x1 < x2)
19+
print(x1 == x2)

0 commit comments

Comments
 (0)
0