А если неформально — то смысл тИповых параметров в том, чтобы статически сУзить допустимые типы для разных экземпляров отного и того же класса, так, чтобы у разных экземпляров сужение было разным.уверен — в этом коротком предложении вся соль, но она непостижима.
В приведенном Вами коде используется два разных суженияэто понятно, параметр типа интерфейса сужается от T до конкретного Employee или Hourly. Но разве компилятор не сотрёт их? и не превратит (как и сказано)
Payable<Employee>
и Payable<Hourly>
просто в Payable? попытаться расклеить интерфейсы,
требовать двух реализаций каждого метода,
у нас только один метод doIt и две разных сигнатурыО.о Видит бог, я не раздираю на цитаты и не пытаюсь докопаться, просто очень много нестандартной терминологии и очень непонятно :( Вот как бы по-простому, по-колхозному?
можно поинтересоваться каких?
да, но ведь эти функции описывают разные наборы входных данных. И для получения этих функций мы учитываем особенности того или иного алгоритма. Разве нет? Возможно коряво, но именно это я и хотел спросить