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

Msu.Center.Lectures.J02 Classes And Objects

670
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
670
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Msu.Center.Lectures.J02 Classes And Objects

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

×