|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
А в чем смысл final?
Ну не смогу я унаследовать этот класс, тем самым завязываю себе или тем кто будет моим кодом пользоваться руки, чтобы класс допилить нужной функциональностью. Зачем?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Типа, класс написан что чуть изменив что нибудь и апокалипсис? Дак ненужно таких классов писать =\
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Регистрация: May 2009
Сообщений: 220
|
Иногда может быть полезным финализировать метод, чтобы не столько не изменить логику, сколько ускорить какие-то участки кода.
Абстрактная ситуация, программируется черный_ящик-база для групп юнитов в классе определен метод: Этот метод часто употребляется в некоем другом методе этого же класса: Такая запись гипотетически может вызвать конфликт, если тот, кто будет отнаследовываться от вашего класса переопределит метод hasUnit. Что можно сделать: 1) можно создать код вида: 2) Можно пометить публичный метод hasUnit как final и получить удвоенную скорость выполнения hasUnit за счет НЕ вызова приватного метода (если метод вызывается извне). В ущерб полиморфизму. |
|
|||||
final
Применение final function methodName() { // ваши инструкции здесь } final class className {} Показывает, что метод невозможно переопределить или что класс невозможно расширить. При попытке переопределить метод или расширить класс, отмеченный как final, возникнет ошибка. Параметры methodName:Function — Имя метода, который невозможно переопределить. className:Class — Имя класса, который невозможно расширить. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Цитата:
Цитата:
ERrorMAKros, я знаю что такое final и как его применять. Я спрашиваю в чем его практический смысл.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
listener
|
Почему же апокалипсис? Просто финал. Приплыли. Дальше некуда. Ибо нету смысла, и не надо, запрещено, не трогай. О чем, собственно, и уведомляет final. Наряду со строгой типизацией final призван защитить код от всяких неожиданностей. Понятно, что ставить его, где и как попало нормальному человеку в голову не придет. Хороша ложка к обеду, словом.
|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Ну, это то понятно - однако всё равно я слабо могу представить ситуацию, в которой он вообще действительно нужен. Я не один такого мнения, значит всё нормально, всем спасибо.
__________________
Тут мужик танцует и поёт про флэш |
Часовой пояс GMT +4, время: 18:28. |
|
« Предыдущая тема | Следующая тема » |
|
|