Содержание
- 2. Задача Вывести клички всех кошек с возрастом больше одного года.
- 3. Решение 1 String firstCatName = "Барсик"; int firstCatAge = 3; String secondCatName = "Барсик"; int secondCatAge
- 4. Решение 2 String catName[] = new String[3]; int catAge[] = new int[3]; catName[0] = "Барсик"; catAge[0]
- 5. Что такое ООП? Концепция ООП предлагает оперировать в программе не переменными и функциями, а объектами. Всё
- 6. Основные понятия ООП Абстракция Класс Объект Инкапсуляция Наследование Полиморфизм
- 7. Абстракция Выделение значимых характеристик объекта, доступных остальной программе.
- 8. Абстракция кота
- 9. Абстракция кота Значимые свойства Кличка Порода Цвет Рост Возраст Дата последнего кормления Дата последнего мяукания Незначимые
- 10. Абстракция кота Значимое поведение Мяукнуть Поесть Потребовать погладить Погулять Незначимое поведение Рвать обои Испортить тапки
- 11. Абстракция кота class Cat { String name; int age; Date lastMeowDate; void meow() { System.out.println("Meow!"); lastMeowDate
- 12. Класс Описываемая на языке терминологии исходного кода модель ещё не существующей сущности (объекта).
- 13. Инкапсуляция Свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе.
- 14. Объект Сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса (инстанцировании). Кот – класс
- 15. Объект Cat cat = new Cat(); cat.name = "Барсик"; cat.meow();
- 16. Сокрытие свойств: зачем? Cat cat = new Cat(); cat.name = "Барсик"; cat.age = -1;
- 17. Модификаторы доступа private: члены класса доступны только внутри класса; «default» (package-private) (модификатор, по-умолчанию): члены класса видны
- 18. Модификаторы доступа static - ссылка этого поля у любого экземпляра класса будет ссылаться на одно и
- 19. Доступ к сокрытым свойствам Класс: class Cat { private int age; public void setAge(int age) {
- 20. Указатель this Указатель на объект, из которого он был вызван. Cat cat = new Cat(); cat.setAge(3);
- 21. Задание 1 Решить задачу с выборкой кошек по возрасту, используя ООП.
- 22. Перегрузка (Overloading) Создание метода с таким же именем, но с другим набором параметров.
- 23. Перегрузка методов public class Cat { public void eat() {} public void eat(int size) { for
- 24. Конструкторы public class Cat { private String name; private int age; public Cat() { name= "Unnamed";
- 25. Конструктор vs Метод Конструктор class Cat { Cat() { } } Метод class Cat { void
- 26. Задание 2 Модифицировать задачу с выборкой кошек по возрасту, используя конструкторы.
- 27. Абстракция собаки
- 28. Собака vs Кот: Свойства Кот Кличка Порода Цвет Рост Возраст Дата последнего кормления Дата последнего мяукания
- 29. Собака vs Кот: Методы Кот Мяукнуть Поесть Потребовать погладить Погулять Собака Гавкнуть Поесть Потребовать погладить Выгуляться
- 30. Домашние животные
- 31. Наследование Cвойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся
- 32. Принцип наследования Общие свойства и методы объектов можно вынести в класс-«родитель». Все «дети»-наследники автоматически получают их.
- 33. Схема наследования
- 34. Класс домашних животных public class Pet { private String name; private int age; public Pet() {
- 35. Класс кота public class Cat extends Pet { private Date lastMeowDate; public Cat() { this("Unnamed"); }
- 36. super() Ссылка на базовый класс, которую можно использовать в дочерних классах
- 37. Переопределение (Overriding) Переписывание (переделывание, переопределение) в классе-потомке УЖЕ существующего метода класса-родителя.
- 38. Аннотация Java Специальная форма синтаксических метаданных, которая может быть добавлена в исходный код. Аннотации используются для
- 39. Аннотация @Override Проверяет, переопределён ли метод. Вызывает ошибку компиляции, если метод не найден в родительском классе;
- 40. UML – диаграмма классов UML = Unified Modeling Language
- 41. Полиморфизм Свойство системы, позволяющее использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре
- 42. Полиморфизм Pet pet1 = new Pet(); Pet pet2 = new Cat(); Pet pet3 = new Dog();
- 43. Тип ссылки vs Тип объекта Pet pet1 = new Pet(); Pet pet2 = new Cat(); Pet
- 44. Приведение типов Pet pet1 = new Pet(); Pet pet2 = new Cat(); //автоматическое Pet pet3 =
- 45. Есть ли ошибки? (Pet) pet; (Pet) cat; (Pet) dog; Pet pet = new Pet(); Cat cat
- 46. Конечно есть! (Pet) pet; (Pet) cat; (Pet) dog; Pet pet = new Pet(); Cat cat =
- 47. Типы ошибок в Java Ошибка компиляции (Cat) dog; (Dog) cat; Ошибка времени выполнения (Cat) pet; (Dog)
- 48. Задание 3 Модифицировать задачу с выборкой кошек по возрасту, добавив в изначальный список собак. К выводу
- 49. Класс Object Object Любой класс
- 50. Методы Object boolean equals(Object obj); String toString(); int hashCode(); Object clone();
- 51. Задание 4 Создать класс комплексных чисел public class Complex { private int re; private int im;
- 52. Задача 4 Создать класс для демонстрации работы класса комплексных чисел: public class ComplexTest { public static
- 53. Абстрактный класс Базовый класс, который не предполагает создания экземпляров.
- 54. Абстрактное животное public abstract class Pet { private String name; private int age; public Pet() {
- 55. Конкретный кот public class Cat extends Pet { private Date lastMeowDate; public Cat() { this("Unnamed"); }
- 56. Интерфейс Конструкция в коде программы, используемая для описания совокупности возможностей, предоставляемых классом или компонентом.
- 57. Интерфейс автомобиля interface Car { KPP getKPP(); Airbag getAirbag(); void beep(); void runEngine(Engine engine); }
- 58. Реализация интерфейса Бумер class BMW implements Car { public KPP getKPP() { return new AutoKPP; }
- 59. Правило наследования Java Класс-наследник может наследовать только один базовый класс, но множество интерфейсов.
- 60. Абстракция женщины-кошки
- 61. Что должна уметь женщина-кошка? Интерфейс женщины interface Woman { void seduce (); void beBeautiful(); } Интерфейс
- 62. Реализуем женщину-кошку class CatWoman extends Cat implements Woman, SuperHero { void seduce () {…} void beBeautiful()
- 63. UML-диаграмма женщины-кошки Woman SuperHero Cat Pet CatWoman
- 64. Задача 5 Реализовать интерфейс стека, работающего с символами: interface IStackChar { void push(char ch); char pop();
- 65. Задача 6 Создать класс DequeChar, унаследованный от класса StackChar. Добавить в него операции pushToHead и popFromHead.
- 66. Исключения Java try { Код, который может бросать исключения } catch (Exception e) { Обработка перехваченного
- 67. Исключения Java int a = 5; int b = 0; try { float c = a
- 68. Исключения Java Object Throwable (Checked) Error (Unchecked) Exception (Checked) RuntimeException (Unchecked)
- 69. Домашнее задание Создать приложение с классом и тестом этого класса. Использовать Java Code Convention. В каждом
- 71. Скачать презентацию