Задать вопрос
  • Существуют ли бесплатные аналоги fail2ban для Windows?

    @recycler
    Могу порекомендовать RDPDefender. Бесплатная, со своими задачами справляется.
    www.terminalserviceplus.com/rdp-defender.php
    Ответ написан
    Комментировать
  • Приведение к типу интерфейса: какой смысл?

    Вы не понимаете механику полиморфизма и виртуальных вызовов.

    Интерфейс - это окно, через которое вы смотрите на реальный объект. Механизм позднего связывания, а именно - виртуальных функций - позволяет вам иметь ссылку типа ISome, которая, тем не менее, ссылается на РЕАЛЬНЫЙ объект с РЕАЛИЗАЦИЯМИ методов интфейса ISome, и вызывать эти методы через интерфейс.

    Обратите внимание - компилятор не позволит вам написать new ISome; (можете попробовать), т.к. невозможно инстанциировать интерфейс. Это всего лишь договор о взаимодействии, и для того, чтобы взаимодействие произошло, нужно чтобы этому договору подчинялись какие-либо реальные объекты.

    Когда вы приводите тип ссылки от SomeObject к ISome, сама ссылка НЕ МЕНЯЕТСЯ (по кр. мере вы этого не увидите), переменная нового типа ссылается на ТОТ ЖЕ САМЫЙ объект, а не на "блок методов". Ссылки всегда указывают на конкретные объекты, невозможно сослаться на "блок методов", не имеющий реализации, язык так не работает. Суть интерфейсов в том, что они соединяют в себе идею позднего связывания и строгую типизацию одновременно. Используя ссылку типа ISome вместо SomeObject, вы как бы смотрите на тот же объект через другое "окно", и видите у него другой набор методов. Это важнейший этап в процедуре абстрагирования - найти у объектов похожие черты, и реализовать ряд алгоритмов на этой основе. Как вы и сами уже заметили - единообразно работать с объектами разных типов.
    Ответ написан
    1 комментарий
  • Приведение к типу интерфейса: какой смысл?

    alexclear
    @alexclear
    A cat
    > Но не пойму механику: у нас после приведения в obj теперь ссылка на блок методов (точнее сигнатур) ISome, а это только сигнатуры без реализации

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

    > и кроме того нет доступа к полям объекта obj!

    Нет доступа откуда именно?

    > Но получается, я не прав.

    Я не до конца понимаю, что именно Вы себе представили не так, но Вы, видимо, представили что-то неправильное. Объект после приведения типа остается все тем же.
    Ответ написан
    1 комментарий
  • Псевдографический Java UI

    KEKSOV
    @KEKSOV
    На Переполнении стека дан ответ на похожий вопрос с технической точки зрения. Насколько эти решения применимы с точки зрения эстетики судить не берусь.

    Гугл выдает несколько полезных ссылок по запросу ncurses java или curses java
    Это такие текстовые псевдографические библиотеки под консоль.
    Ответ написан
    Комментировать