полиморфизм в яве - PullRequest
       1

полиморфизм в яве

1 голос
/ 11 апреля 2011

Является ли интерфейс в Java своего рода полиморфизмом?

Ответы [ 5 ]

5 голосов
/ 11 апреля 2011

Нет.Интерфейсы в Java - это конструкция, позволяющая заставить полиморфизм (полиморфизм подтипов) работать в Java, но они не являются «разновидностью» полиморфизма.

В полиморфизме происходит, когда два объекта отвечают на одно и то же сообщение (вызов метода) по-разному (следовательно, poly -> many, morphism -> way or shape: polymorphism -> много способов)В Java, чтобы иметь возможность отправлять одно и то же сообщение двум разным объектам, вы должны либо наследовать одного и того же родителя, либо реализовать один и тот же интерфейс.

1 голос
/ 01 августа 2015

Нет, интерфейс не полиморфизм, они строят полиморфизм.Интерфейс означает, что дочерний класс расширяет / наследует родительский класс.полиморфизм означает, что когда родительский класс имеет другой дочерний подкласс,

parent p = new child1();
         = new child2();
         = new child3();

, тогда объект другого дочернего класса, назначенный той же ссылке родительского класса, называется полиморфизмом.

1 голос
/ 08 ноября 2012

Нет Полиморфизм означает множественные формы. Интерфейс - это конструкция в Java для объявления статических полей и методов, которые будут реализованы в классах, реализующих Интерфейс с использованием ключевого слова Implement. Интерфейсы не являются «своего рода» полиморфизмом, скорее мы используем интерфейсы для получения полиморфизма в Java. Это не означает, что для получения полиморфизма в Java нам обязательно нужны интерфейсы. Полиморфизм также может быть реализован с использованием абстрактных классов.

1 голос
/ 11 апреля 2011

В некотором смысле, да, но полиморфизм обычно относится к способности объекта вести себя иначе, чем у его родительского класса.http://download.oracle.com/javase/tutorial/java/IandI/polymorphism.html

Использование интерфейса между несколькими классами гарантирует, что все подклассы должны реализовывать эти методы, и, таким образом, объекты могут храниться в экземпляре суперкласса для обеспечения динамического программирования.

Прочитайте ссылку для лучшего примера.

0 голосов
/ 11 апреля 2011

Краткий ответ: Да. Длинный ответ: см. здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...