Ответы пользователя по тегу Программирование
  • Типы образуются от классов?

    нет, Java такое не должна собрать и должна сказать, что класс `Person` не найден

    искал описание в книге, но не нашел. опишу сам. здесь таится более глубокий вопрос

    вы верно мыслите - слева у вас стоит тип, а справа вы используете класс. в случае с классом, который ни от чего не наслудуется и от него ничего не наследуется тип - это и есть класс.

    далее представим, что у вас есть два класса Person и Worker. при этом Worker наследуется от Person. вы можете смело писать следующее:
    Person personFoo = new Person();
    Person personBar = new Worker();
    Worker workerBeez = new Worker();

    с первой и третьей строкой все ясно, а вторая строка, как вы понимаете, из-за полиморфизма. объекты personFoo и personBar будут принадлежать одному типу: Person. все эти три объекта формально будут принадлежать к одному типу и workerBeez можно использовать там же, где и Person если соблюден принцип подстановки

    аналогичная ситуация с интерфейсами. если же класс реализует интерфейс, то объекты этого класса будут относиться еще и к типу интерфейса:
    IWorkable worker = new Worker(); // при условии, что Worker реализует интерфейс IWorkable


    теперь если все это собрать в кучу, то класс, которые наследуется от другого класса и реализует несколько интерфейсов, по сути относится к нескольким типам: к типу, который относится к классу, от которого он наследуется, к типам всех интерфейсов и к собственному типу
    Ответ написан
    Комментировать
  • Зачем писать такой большой код?

    добавлю к вышесказанному: такой код проще тестировать
    Ответ написан
    Комментировать