Содержание
- 2. История ООП 1950-1960 – зарождение идеи «объектно-» «ориентированного» 1960е – появление объектно-ориентированного языка Simula. 1970е –
- 3. История ООП 1990е – рост популярности графических интерфейсов пользователя (GUI), которые основывались на техниках ООП В
- 4. История версий Java 1990 – Oak 1996 – JDK 1.0 1997 – JDK 1.1 1998 –
- 5. Особенности Java Кроссплатформенность (переносимость) Объектная ориентированность Привычный синтаксис, схожий с C и C++ Язык сильно типизированный;
- 6. Java Virtual Machine (JVM) Создаётся для каждой платформы, которая должна поддерживать запуск и функционирование Java-приложений Скрывает
- 7. Java Development Kit (JDK) Комплект инструментов для разработки приложений на Java Включает в себя: Компилятор (javac)
- 8. Объекты и классы В Java любой объект представляет собой экземпляр определённого класса Класс – шаблон поведения
- 9. Классы Код программы на Java представляет собой набор классов Классы могут иметь статические поля и методы
- 10. Конструкторы и деструкторы Конструкторы – особые методы, которые вызываются при создании объекта Необходимы для задания корректного
- 11. Отношения Ассоциация Композиция Агрегация Наследование
- 12. Основные принципы ООП Инкапсуляция – сокрытие реализации класса и отделение его внутреннего представления (реализации) от внешнего
- 13. Достоинства ООП Абстрагирование от деталей реализации Локализация кода и разделение функциональности Возможность создания расширяемых систем Единообразная
- 14. Недостатки ООП Усложнённое документирование Сложность проектирования Затруднённая навигация внутри и между классами в сложных иерархиях классов
- 15. Объекты и Java В Java все сущности являются объектами… либо классами или интерфейсами… и те, и
- 16. Виртуальная память Java Классы и интерфейсы являются ссылочными типами Во время выполнения программы ссылка может поменять
- 17. Пакеты Программа на Java состоит из набора пакетов Пакеты предназначены для логической группировки типов Пакет может
- 18. Имена Имена используются для доступа к конструкциям языка Имена классов и интерфейсов: Простые: Object Составные: java.lang.Object
- 19. HelloWorld.java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } Метод
- 20. Модуль компиляции Модуль компиляции хранится в .java-файле Является единичной порцией входных данных для компилятора Состоит из
- 21. Модуль компиляции Объявление пакета указывает, к какому пакету будут принадлежать объявляемые ниже типы Если отсутствует, то
- 22. Правила именования Пакеты: java.lang, com.google.android, java.sql, ru.ssau.tk Типы (классы и интерфейсы): Object, Class, Date, TextStyle, Runnable,
- 23. Рекомендации именования Называйте переменную так, чтобы было понятно, за что она отвечает Не используйте сокращений (за
- 24. Объявление класса class MyClass { } class MyClass extends Object { } Самое простое создание класса:
- 25. Наследование классов Транзитивность наследования: если класс A является наследником класса B, а класс B является наследником
- 26. Поля и методы class Item { String name; int cost = 0; void increaseCost(int value) {
- 27. Объявление полей Если переменная не инициализирована, то ей присваивается значение по умолчанию: Для числовых полей примитивных
- 28. Объявление методов В объявлении метода обязательно нужно указать тип возвращаемого значения (или void), имя метода и
- 29. Методы Пример метода и его реализации: int getArea(int width, int height) { return width * height;
- 30. Переменное число аргументов Есть возможность создания метода с переменным числом аргументов (только в конце метода!): void
- 31. Переменное число аргументов? На самом деле число не переменное, а последний аргумент представляет собой массив: void
- 32. Переменное число аргументов Сигнатуры методов будут идентичными и, таким образом, в классе не могут существовать два
- 33. Реализация метода Метод, возвращаемый тип которого не void, обязан вернуть значение этого типа с помощью ключевого
- 34. Ветвление в методе Эти методы будут работать одинаково Если метод ничего не возвращает, то return также
- 35. Ссылка объекта на себя Внутри нестатического контекста класса можно получить ссылку объекта на себя при помощи
- 36. Ссылка объекта на себя Detail returnNewestDetail(Detail otherDetail) { if (version > otherDetail.version) { return this; }
- 37. Родительские классы Доступ к родительским полям и методам класса можно получить при помощи ключевого слова super
- 38. Переопределение методов public class Square extends Rectangle { @Override public void setSize(double width, double height) {
- 39. Перегрузка методов public void setSize(double width) { setSize(width, width); } public void setSize(double width, double height)
- 40. Настоятельные рекомендации Называйте переменную так, чтобы было понятно, за что она отвечает Метод должен выполнять одну
- 42. Скачать презентацию