SlideShare a Scribd company logo
Классы и Объекты в  Java Основы ООП
Java Programming Language переменные   примитивных типов  int  ,  char ,  double переменные объектных типов (ссылки!) Integer ,  System ,  MyClass нет адресов, Сборщик Мусора JavaDoc Java Platform Java Virtual Machine J2SE, J2EE JRE, JDK
Объекты – ключевое понятие  объектно-ориентированных технологий оглядитесь: мы живём в мире взаимодействующих объектов!
Программные объекты Объекты в программных системах – аналоги объектов в реальном мире Состояние хранится в полях Поведение доступно через методы Методы изменяют состояние объекта Сокрытие внутреннего состояния объекта от посторонних глаз называется  инкапсуляцией . Единственный способ изменить это состояние – вызвать метод объекта.
Программные объекты Состояние: Скорость движения Скорость вращения колёс Конфигурация шестерней Поведение: Переключить передачи Затормозить Изменить темп
Программные объекты Основные преимущества: Модульность Повторное использование кода Сокрытие внутреннего представления Расширяемость и простота отладки
Класс – множество объектов, имеющих схожее поведение и свойства Класс – велосипед, объекты – мой вел ,  вел Ани ,  Риты и Наташи  …
Классы и объекты в  Java ( пример:  Bike.java)
Классы и объекты в  Java Каждому  public  классу – свой файл Поля и методы могут чередоваться Реализация метода не отделяется от объявления метода
Классы и объекты в  Java Квалификаторы доступа в  Java: public  –  доступ имеют все private  – доступ имеют только объекты данного класса protected  – доступ имеют объекты данного класса и все объекты классов-потомков По умолчанию –  package private,  то есть все классы из данного пакета имеют доступ
Static Members Поля объекта ( Instance Members) Принадлежат экземпляру класса (поля и методы в обычном понимании) Поля класса  (Class Members) Принадлежат всем объектам сразу Внутри статических методов нельзя обращаться к нестатическим членам
Как именовать классы, поля, методы?
Венгерская Нотация Использовалась в  BCPL Префикс указывает на тип данных Была действительно нужна, поскольку в языке был только один тип данных Сегодня осталось только как рудимент в  WinAPI ( всякие  szClassName). В языках программирования с динамической типизацией ( Python, JavaScript, PHP)  практически не используется
Правила именования Классы:  CamelCase Поля класса, методы:  camelCase Константы:  ALL_CAPITALS_WITH_UNDERSCORES Локальные переменные:  camelCase Код должен соответствовать  Code Conventions for the Java Programming Language
Организация пространств имён Аналог пространства имён в  Java –  пакет ( package). Пакеты имеют иерархическую структуру Обычно именуются маленькими буквами Одному пакету соответствует одна директория в файловой системе
Организация пространств имён (пример)
Упаковка приложений Форма распространения  java- приложений –  JAR- архив Идеологически – набор кода и данных, которые нужны приложению для работы Технически –  zip- архив с байт-кодом, ресурсами и метаданными (манифестом) Запуск приложения: $ java -jar my-app.jar

More Related Content

PPT
Java. Lecture 02. Classes and Objects
PPT
02 - Классы и Объекты
PPT
Рефлексия в java
PPT
Msu.Center.Lectures.J03 Oop And Uml
PPT
Java. Lecture 03. OOP and UML
PPTX
Java core-lect6-part2-reflection-api.ppt
PPT
Java. Вложенные классы и интерфейсы.
Java. Lecture 02. Classes and Objects
02 - Классы и Объекты
Рефлексия в java
Msu.Center.Lectures.J03 Oop And Uml
Java. Lecture 03. OOP and UML
Java core-lect6-part2-reflection-api.ppt
Java. Вложенные классы и интерфейсы.

What's hot (16)

PPTX
Java Core. Lecture# 1. Intro
PPTX
принципы объектного подхода
PPT
Java. Полиморфизм.
PPT
Java. Конструкторы класса и инициализация
PPT
Msu.Center.Lectures.J01 Introducing Java
PPTX
Java core-lect6-part3-annotation.ppt
PPTX
Java Core. Lecture# 2. Classes & objects.
PDF
Шаблоны проектирования GoF
PPTX
принципы ооп и программирование классов в C#
PPTX
Наследование и полиморфизм
PPT
Java. Наследование.
PPTX
Java Core. Lecture# 3. Part# 1. Abstract classes.
PPTX
Лекция 6_принципы ООП : инкапсуляция, наследование
PPT
Java. Generic - шаблонные типы.
PPTX
разработка бизнес приложений (6)
Java Core. Lecture# 1. Intro
принципы объектного подхода
Java. Полиморфизм.
Java. Конструкторы класса и инициализация
Msu.Center.Lectures.J01 Introducing Java
Java core-lect6-part3-annotation.ppt
Java Core. Lecture# 2. Classes & objects.
Шаблоны проектирования GoF
принципы ооп и программирование классов в C#
Наследование и полиморфизм
Java. Наследование.
Java Core. Lecture# 3. Part# 1. Abstract classes.
Лекция 6_принципы ООП : инкапсуляция, наследование
Java. Generic - шаблонные типы.
разработка бизнес приложений (6)
Ad

Similar to Msu.Center.Lectures.J02 Classes And Objects (20)

PDF
JavaScript Базовый. Занятие 04.
PPT
Java. Сборщик мусора. Работа с памятью.
PPT
Oop java.generics
PPTX
Классы и объекты в Java
ODP
Scala: introduction
PPT
I M S Rubashkin
PDF
C++ весна 2014 лекция 5
PPTX
Классы и объекты в Java
PDF
20100228 virtualization igotti_lecture03
PDF
Java осень 2013 лекция 1-1
PDF
Java весна 2014 лекция 1
PPT
Контент ориентированное программирование
PPTX
Clojure: Lisp for the modern world (русская версия)
PPTX
Bytecode
PDF
C# Desktop. Занятие 01.
PPTX
Основы Java. 3. Конструкторы, уровни доступа, статика
PDF
Память в Java. Garbage Collector
PPTX
Unit tests
PPT
Step 3.2
PPT
построение хранилищ
JavaScript Базовый. Занятие 04.
Java. Сборщик мусора. Работа с памятью.
Oop java.generics
Классы и объекты в Java
Scala: introduction
I M S Rubashkin
C++ весна 2014 лекция 5
Классы и объекты в Java
20100228 virtualization igotti_lecture03
Java осень 2013 лекция 1-1
Java весна 2014 лекция 1
Контент ориентированное программирование
Clojure: Lisp for the modern world (русская версия)
Bytecode
C# Desktop. Занятие 01.
Основы Java. 3. Конструкторы, уровни доступа, статика
Память в Java. Garbage Collector
Unit tests
Step 3.2
построение хранилищ
Ad

More from olegol (6)

PPT
Msu.Center.Lectures.J09 Network Programming
PPT
Msu.Center.Lectures.J07 Advanced Xml
PPT
Msu.Center.Lectures.J06 Io
PPT
Msu.Center.Lectures.J05.1 Xml Basics
PPT
Msu.Center.Lectures.J05 Handling Exceptions
PPT
Msu.Center.Lectures.J04 Std Libs
Msu.Center.Lectures.J09 Network Programming
Msu.Center.Lectures.J07 Advanced Xml
Msu.Center.Lectures.J06 Io
Msu.Center.Lectures.J05.1 Xml Basics
Msu.Center.Lectures.J05 Handling Exceptions
Msu.Center.Lectures.J04 Std Libs

Msu.Center.Lectures.J02 Classes And Objects

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