Странно, но у меня происходит наследие и без open. Может в новой версии от этого отказались? только для функций и полей работает. А для всего класса нет.
Все нормально компилится :) Вот скрины yadi.sk/i/cakkYxPjXl20tA yadi.sk/i/5058URVGHyp3dw, Если open у функций убрать то да их не видно , и ошибка компиляции. А у всего класса доступ похоже public по умолчанию
Его нужно использовать по правилам написания языка, однако люди не делали это из за забывчивости и лени. Это приводило к дополнительным багам и нарушениям принципов ООП. Чтобы подготовить класс с правильному наследованию нужно приложить дополнительные усилия. Предусмотреть что может пойти не так если переопределить часть функционала родительского класса и запретить переопределение если оно может нарушить его работу. Поэтому правильнее сделать все классы финальными по умолчанию, а потом уже разрешать наследование если нужно.
Вообще глупо создали этот open, ведь суть абстрактного класса как раз в том что бы расширить, зачем его делать обратным... и каждым разом писать этот open, в джаве очень редко почти некогда даже для абстрактного класса final не использовался
Абстрактный класс как раз не требует модификатора open для наследия. В джаве невозможно использовать модификатор final для абстрактных классов так как это противоречащие понятия.
Можно ссылку на простенький пример из реального приложения? Я не понимаю зачем вообще использовать данный клас.
Приветствую. Нигде не нашел информации почему вы забросили RemindMe. Так ведь хорошо начиналось...Можете разъяснить ситуацию? Спасибо
Очень много времени уходило на даную серию уроков, а с каждым видео в глубь все меньше им интересовалось.
Понятно. Хотя бы есть надежда, что серия продолжится когда-нибудь?
Странно, но у меня происходит наследие и без open. Может в новой версии от этого отказались? только для функций и полей работает. А для всего класса нет.
Странно, надо писать open. Попробуйте запустить код, должна быть ошибка компиляции.
Все нормально компилится :) Вот скрины yadi.sk/i/cakkYxPjXl20tA yadi.sk/i/5058URVGHyp3dw, Если open у функций убрать то да их не видно , и ошибка компиляции. А у всего класса доступ похоже public по умолчанию
"никто не писал, никто не использовал ... и сделали это по умолчанию" )))))
Его нужно использовать по правилам написания языка, однако люди не делали это из за забывчивости и лени. Это приводило к дополнительным багам и нарушениям принципов ООП. Чтобы подготовить класс с правильному наследованию нужно приложить дополнительные усилия. Предусмотреть что может пойти не так если переопределить часть функционала родительского класса и запретить переопределение если оно может нарушить его работу. Поэтому правильнее сделать все классы финальными по умолчанию, а потом уже разрешать наследование если нужно.
Gygtvyv
Вообще глупо создали этот open, ведь суть абстрактного класса как раз в том что бы расширить, зачем его делать обратным... и каждым разом писать этот open, в джаве очень редко почти некогда даже для абстрактного класса final не использовался
Абстрактный класс как раз не требует модификатора open для наследия. В джаве невозможно использовать модификатор final для абстрактных классов так как это противоречащие понятия.