Объясните полиморфизм - PullRequest
12 голосов
/ 24 июля 2010

Что такое полиморфизм?Я не уверен, что я правильно понимаю.

В области Python я извлекаю из этого то, что могу определять параметры следующим образом:укажите тип, в отличие от другого языка, такого как Java, где он будет выглядеть следующим образом:

public void blah (int x, string y)

Я правильно понял?

Ответы [ 11 ]

0 голосов
/ 24 июля 2010

Способность определять функцию в нескольких формах называется Полиморфизм . В C #, Java, C ++ существует два типа полиморфизма: полиморфизм времени компиляции ( перегрузка ) и полиморфизм времени исполнения ( переопределение ).

Переопределение : Переопределение происходит, когда метод класса имеет то же имя и сигнатуру, что и метод в родительском классе.

Перегрузка : Перегрузка определяется во время компиляции. Это происходит, когда несколько методов имеют одинаковые имена с:

  1. Другой метод подписи и другой номер или тип параметры.
  2. Та же сигнатура метода, но другое количество параметров.
  3. Та же сигнатура метода и то же количество параметров, но другого типа
...