Насколько мне известно, полиморфизм - это «одна вещь во многих формах». Полиморфизм можно продемонстрировать с помощью перегрузки операторов и перегрузок методов. Давайте рассмотрим перегрузку методов как средство демонстрации концепции полиморфизма. В Java мы можем написать это без использования наследования. См. код ниже.
Код: Выделить всё
public class Main{
public static void main(String[] args) {
System.out.println(add(1,2));;
System.out.println(add(1,2,3));
}
public static int add(int a,int b){
return a+b;
}
public static int add(int a,int b,int c){
return a+b+c;
}
}
Код: Выделить всё
class TestPolymorphism:
def add(self,a,b):
return (a+b)
def add(self,a,b,c):
return (a+b+c)
obj = TestPolymorphism()
print(obj.add(1,2)) #will get an error
print(obj.add(1,2,3))
Код: Выделить всё
class TestPolymorphism:
def add(self,a,b,c=None):
if c ==None:
sum = a+b
return sum
else:
sum = a+b+c
return sum
obj = TestPolymorphism()
print(obj.add(1,2))
print(obj.add(1,2,3))
может ли кто-нибудь дать мне теорию полиморфизма в Python?
Подробнее здесь: https://stackoverflow.com/questions/611 ... sm-in-java
Мобильная версия