В чем разница между абстракцией и полиморфизмом - PullRequest
31 голосов
/ 15 декабря 2008

Кажется, я не очень хорошо понимаю две концепции ООП. Не могли бы вы объяснить, что такое абстракция и полиморфизм , желательно с реальными примерами и кодом?

Спасибо.

Ответы [ 11 ]

0 голосов
/ 15 декабря 2008

очень просто.

  1. Абстракция - это абстракция. Класс «Студент» - это абстракция настоящего студента.

  2. Полиморфизм - это когда один класс представляет другой, чтобы пользователь не заметил. Это может произойти, когда классы реализуют один и тот же интерфейс или один класс наследуется от другого. Класс HighSchoolStudent является производным от класса Student. Когда класс 'Teacher' вызывает метод #attendance для объекта, он может не знать, принадлежит ли этот класс к классу Student или HighSchoolStudent.

...