Введение в Java
Чтобы смотреть видео нужно иметь активную платную подписку и вступить в курс. Войти или зарегистрироваться.

alt text Внимание. В слайде была ошибка. Имя класса может начинаться со знака доллара ($).


Основные концепции ООП

  • все в этом мире представляется как отдельный объект
  • каждый объект может иметь свое состояние (иметь поля)
  • каждый объект может выполнять некоторые действия
  • программа - взаимодействие этих объектов

До появления ООП

  • дизайн программ - "сверху вниз"
    • высокая сложность кода
    • сложность растет обратно пропорционально до завершения проекта
    • а это живой код или "макароны"? - сложно поддерживать
    • новые фичи разрабатывать невозможно

Появление ООП

  • разработка идет "снизу вверх"
    • описываются объекты и действия с ними
    • такой код:
      • легко тестировать
      • стабильный
      • легко поддерживать
      • легко читаемый
    • правильный дизайн до разработки!

Java версия ООП

  • все является классами (class)
  • класс обладает некоторыми свойствами
    • у класса есть имя (name)
      • начинается с буквы, подчеркивания ( _ ) и (alt textчто не сказано в лекции) знака доллара ($)
      • может включать в себя цифры, символы, знак доллара, подчеркивание
      • имя класса должно совпадать с именем файла, в котором он создан
      • (!) рекомендовано использовать "верблюжий стиль"
      • (!) не рекомендовано использовать знак доллара и подчеркивание вообще
      • (!) рекомендовано начинать имя с заглавной буквы
    • класс может иметь поля (properties, fields)
    • у класса могут быть методы (methods)

Важные этапы в разработке

  • нужно понять задачу (то есть разработать высокоуровневую архитектуру то, что собираетесь делать)
  • для этого лучше всего использовать UML (спец язык, на котором при помощи диаграмм описывается архитектура)
  • пройти design review (показать кому-либо, кто в курсе что необходимо)
  • если есть готовая диаграмма, можно приступать к кодированию
  • пройти code review (показать тому, кто разбирается)

Практика online

Написать класс "Дом", с названием House и создать у него два поля - поле "Адрес" и поле "Количество этажей".

  • cоздадим UML-диаграмму класса в Astah (Astah UML )

    • class() - House
    • attribute() - address: String, floorsCount: int
  • копмиляция кода в байткод (javac House.java)

  • посмотреть байткод (javap House)

  • запустить код (java House)

      class House {
      String adress;
      int floorsCount;
      }
    

Полезные ссылки:

Дополнительная практика по теме.

Группы для общения: