Классы и Объекты в Java
Основы ООП
• Java Programming Language
– переменные примитивных типов
int , char, double
– переменные объектных типов (ссылки!)
Integ...
Объекты – ключевое понятие
объектно-ориентированных технологий
оглядитесь: мы живём в мире взаимодействующих объектов!
Каж...
Программные объекты
• Объекты в программных системах – аналоги объектов в
реальном мире
• Состояние хранится в полях
• Пов...
Программные объекты
Состояние:
• Скорость движения
• Скорость вращения колёс
• Конфигурация шестерней
Поведение:
• Переклю...
Программные объекты
Основные преимущества:
• Модульность
• Повторное использование кода
• Сокрытие внутреннего представлен...
Класс – множество объектов, имеющих
схожее поведение и свойства
Класс – велосипед, объекты – мой вел, вел Хемуля, …
Классы и объекты в Java
(пример: Bike.java)
Классы и объекты в Java
• Каждому public классу – свой файл
• Поля и методы могут чередоваться
• Реализация метода не отде...
Классы и объекты в Java
Квалификаторы доступа в Java:
• public – доступ имеют все
• private – доступ имеют только объекты ...
Классы и объекты в Java
• Модификатор доступа помещается перед каждым членом
класса (не перед группой)
• Все поля класса с...
Static Members
• Члены объекта (Instance Members)
– Принадлежат экземпляру класса (поля и методы в обычном
понимании)
• Чл...
Как именовать классы, поля, методы?
Венгерская Нотация
• Использовалась в BCPL
• Префикс указывает на тип данных
• Была действительно нужна, поскольку в языке...
Правила именования
• Классы: CamelCase
• Поля класса, методы: camelCase
• Константы: ALL_CAPITALS_WITH_UNDERSCORES
• Локал...
Организация пространств имён
• Аналог пространства имён в Java – пакет (package)
• Пакеты имеют иерархическую структуру
• ...
Организация пространств имён
(пример)
Упаковка приложений
• Форма распространения java-приложений – JAR-архив
• Идеологически – набор кода и данных, которые нуж...
Upcoming SlideShare
Loading in …5
×

Java. Lecture 02. Classes and Objects

1,883 views
1,801 views

Published on

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,883
On SlideShare
0
From Embeds
0
Number of Embeds
183
Actions
Shares
0
Downloads
39
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java. Lecture 02. Classes and Objects

  1. 1. Классы и Объекты в Java Основы ООП
  2. 2. • Java Programming Language – переменные примитивных типов int , char, double – переменные объектных типов (ссылки!) Integer, System, MyClass – нет адресов, Сборщик Мусора – JavaDoc • Java Platform – Java Virtual Machine – Java SE, Java EE – JRE, JDK
  3. 3. Объекты – ключевое понятие объектно-ориентированных технологий оглядитесь: мы живём в мире взаимодействующих объектов! Каждый объект характеризуется состоянием и поведением
  4. 4. Программные объекты • Объекты в программных системах – аналоги объектов в реальном мире • Состояние хранится в полях • Поведение доступно через методы • Методы изменяют состояние объекта Сокрытие внутреннего состояния объекта от посторонних глаз называется инкапсуляцией. Единственный способ изменить это состояние – вызвать метод объекта.
  5. 5. Программные объекты Состояние: • Скорость движения • Скорость вращения колёс • Конфигурация шестерней Поведение: • Переключить передачи • Затормозить • Изменить темп
  6. 6. Программные объекты Основные преимущества: • Модульность • Повторное использование кода • Сокрытие внутреннего представления • Расширяемость и простота отладки
  7. 7. Класс – множество объектов, имеющих схожее поведение и свойства Класс – велосипед, объекты – мой вел, вел Хемуля, …
  8. 8. Классы и объекты в Java (пример: Bike.java)
  9. 9. Классы и объекты в Java • Каждому public классу – свой файл • Поля и методы могут чередоваться • Реализация метода не отделяется от объявления метода
  10. 10. Классы и объекты в Java Квалификаторы доступа в Java: • public – доступ имеют все • private – доступ имеют только объекты данного класса • protected – доступ имеют объекты данного класса, все объекты классов-потомков и все классы из данного пакета По умолчанию – package protected, то есть все классы из данного пакета имеют доступ
  11. 11. Классы и объекты в Java • Модификатор доступа помещается перед каждым членом класса (не перед группой) • Все поля класса стоит помечать как private или protected • Хотя бы некоторые методы стоит помечать как public Вообще, рекомендуется скрывать данные, и предоставлять методы для изменения состояния (как и в реальном мире)
  12. 12. Static Members • Члены объекта (Instance Members) – Принадлежат экземпляру класса (поля и методы в обычном понимании) • Члены класса (Class Members) – Принадлежат классу (могут быть использованы и без экземпляра класса) – Внутри статических методов нельзя обращаться к нестатическим членам
  13. 13. Как именовать классы, поля, методы?
  14. 14. Венгерская Нотация • Использовалась в BCPL • Префикс указывает на тип данных • Была действительно нужна, поскольку в языке был только один тип данных • Сегодня осталось только как рудимент в WinAPI (всякие szClassName). • В языках программирования с динамической типизацией (Python, JavaScript, PHP) практически не используется
  15. 15. Правила именования • Классы: CamelCase • Поля класса, методы: camelCase • Константы: ALL_CAPITALS_WITH_UNDERSCORES • Локальные переменные: camelCase Код должен соответствовать Code Conventions for the Java Programming Language
  16. 16. Организация пространств имён • Аналог пространства имён в Java – пакет (package) • Пакеты имеют иерархическую структуру • Обычно именуются маленькими буквами • Одному пакету соответствует одна директория в файловой системе
  17. 17. Организация пространств имён (пример)
  18. 18. Упаковка приложений • Форма распространения java-приложений – JAR-архив • Идеологически – набор кода и данных, которые нужны приложению для работы • Технически – zip-архив с байт-кодом, ресурсами и метаданными (манифестом) Запуск приложения: $ java -jar my-app.jar

×