Доступ ко всем атрибутам экземпляра или класса осуществляется через self, который передается в качестве первого аргумента всем методам. Поэтому правильно получать сигнатуру метода perform_multiply(self, a, b), а не просто perform_multiply(a, b), как в других языках.
Смотри пример кода на пайтон :
boris@boris-All-Series:~/CLASSFOO$ cat instantiateClass.py
import os
class FIRSTCLASS():
def __init__(self):
self.values = [1, 3, 5, 7, 9, 11]
def perform_multiply(self, x, y):
z = self.values[x] * self.values[y]
print (self.values[x], self.values[y], z)
class SECONDCLASS():
def __init__(self):
# creating instance of FIRSTCLASS
self.instFirst = FIRSTCLASS()
def proc_second(self, a, b):
self.instFirst.perform_multiply(a, b)
instSecond = SECONDCLASS()
i = int(input("Submit first multiplyer : "))
j = int(input("Submit second multiplyer : "))
instSecond.proc_second(i, j)
boris@boris-All-Series:~/CLASSFOO$ python3 instantiateClass.py
Submit first multiplyer : 2
Submit second multiplyer : 4
5 9 45
boris@boris-All-Series:~/CLASSFOO$ python3 instantiateClass.py
Submit first multiplyer : 2
Submit second multiplyer : 3
5 7 35
boris@boris-All-Series:~/CLASSFOO$ python3 instantiateClass.py
Submit first multiplyer : 3
Submit second multiplyer : 5
7 11 77
No comments:
Post a Comment