lektsia_2_pptm

Содержание

Слайд 2

Объектно-ориентированное программирование

ООП – это парадигма программирования, в которой базовым является понятие объекта

Состояние
Поведение
Уникальность

Получать

Объектно-ориентированное программирование ООП – это парадигма программирования, в которой базовым является понятие
сообщения
Обрабатывать данные
Отправлять сообщения

Программа в ходе работы представляет собой набор взаимодействующих объектов

Объект имеет:

Объект умеет:

Слайд 3

Объектно-ориентированное программирование

Объектно-ориентированное программирование

Слайд 4

Принципы ООП

Инкапсуляция — это свойство системы, позволяющее объединить данные и методы в классе,

Принципы ООП Инкапсуляция — это свойство системы, позволяющее объединить данные и методы
и скрыть детали реализации от пользователя.

Слайд 5

Принципы ООП

Наследование – механизм создания новых классов на основе существующих
При наследовании дочернему

Принципы ООП Наследование – механизм создания новых классов на основе существующих При
классу передаются поля и методы родительского класса

class Transport {
//
}
class Car extends Transport {
//
}

Слайд 6

Принципы ООП

Полиморфизм – возможность использования одних и тех же методов для объектов

Принципы ООП Полиморфизм – возможность использования одних и тех же методов для
разных классов, только реализация этих методов будет индивидуальной для каждого класса

Слайд 7

Классы и объекты в JAVA

Класс - это шаблон для создания объекта.
Он

Классы и объекты в JAVA Класс - это шаблон для создания объекта.
определяет структуру и поведение, которые будут совместно использоваться набором объектов.
Он содержит переменные и методы, которые называются элементами класса, членами класса.

public class Название {
// описание класса
}

Слайд 8

Классы и объекты в JAVA

Класс может содержать:
Поля
Методы
Вложенные классы и интерфейсы

public class Body

Классы и объекты в JAVA Класс может содержать: Поля Методы Вложенные классы
{ public long idNum; public String name; public Body orbits;
public static long nextID = 0; }

Слайд 9

public Признак общедоступности класса (класс виден вне пакета) abstract Признак абстрактности класса (класс не полностью

public Признак общедоступности класса (класс виден вне пакета) abstract Признак абстрактности класса
реализует поведение) final Завершенность класса (класс не допускает наследования) strictfp Повышенные требования к операциям с плавающей точкой (результаты операций одинаковые на различных платформах)

Классы и объекты в JAVA

Модификаторы объявления класса

Слайд 10

Классы и объекты в JAVA

Объект класса - это область памяти, которая содержит переменные,

Классы и объекты в JAVA Объект класса - это область памяти, которая
объявленные в классе (поля класса)

Основные свойства объекта

Поведение объекта

Состояние объекта

Идентичность объекта

Слайд 11

Классы и объекты в JAVA

Создание объектов класса представляет из себя двухэтапный процесс:

Объявление

Классы и объекты в JAVA Создание объектов класса представляет из себя двухэтапный
переменной типа класса:

2. Создание объекта:

Box = myBox;

myBox = new Box();

Слайд 12

Пакеты

Пакеты в Java группируют несколько классов, интерфейсов или пакетов и т. д.

Преимущества

Пакеты Пакеты в Java группируют несколько классов, интерфейсов или пакетов и т.
пакетов:

Избегает конфликтов именования классов. Это означает, что мы можем использовать одни и те же имена классов в двух разных пакетах
Обеспечивает возможность повторного использования путем доступа к классу из одного пакета в другом
Простота обслуживания, так как классы будут организованы
Обеспечивает защиту доступа для защищенных классов и классов по умолчанию
Это помогает в инкапсуляции или сокрытии данных

Слайд 13

Пакеты

Пакеты

Слайд 14

Конструкторы

Конструктор можно вызвать только в сочетании с операцией new(). Его нельзя применить

Конструкторы Конструктор можно вызвать только в сочетании с операцией new(). Его нельзя
к существующему объекту, чтобы изменить информацию в его полях

Имя конструктора совпадает с именем класса
Класс может иметь несколько конструкторов
Конструктор может иметь один или несколько параметров или же вообще их не иметь
Конструктор не возвращает никакого значения

! Нельзя присваивать локальным переменным такие же имена, как и полям экземпляра

Слайд 15

Ключевое слово var

До версии Java 10 объявление переменных:

Начиная с версии Java 10:

Ключевое

Ключевое слово var До версии Java 10 объявление переменных: Начиная с версии
слово var можно употреблять в локальных переменных, объявляемых ТОЛЬКО в теле метода

Слайд 16

Обработка пустых ссылок на объект

Используется метод requireNonNullElse()

«Жесткий» способ – отвержение аргумента с

Обработка пустых ссылок на объект Используется метод requireNonNullElse() «Жесткий» способ – отвержение
пустым значением null

Слайд 17

Явные и неявные параметры

Пример:

У метода raiseSalary() имеются два параметра. Первый, называемый неявным,

Явные и неявные параметры Пример: У метода raiseSalary() имеются два параметра. Первый,
представляет собой ссылку на объект типа Employee, который указывается перед именем метода. Второй параметр называется явным и указывается как число в скобках после имени данного метода.
Явные параметры перечисляются в объявлении метода, например double byPercent

Слайд 18

Статические поля. Модификатор static

Поле с модификатором доступа static существует в одном экземпляре,

Статические поля. Модификатор static Поле с модификатором доступа static существует в одном
для всего класса. Но если поле не статическое, то каждый объект содержит его копию
Пример:

Слайд 19

Статические методы

Статические методы – методы, которые не оперируют объектами.
Применение:
- когда методу не

Статические методы Статические методы – методы, которые не оперируют объектами. Применение: -
требуется доступ к данным о состоянии объекта, поскольку все необходимые параметры задаются явно
- когда методу требуется доступ лишь к статическим полям класса

Слайд 20

Метод main()

Метод main() объявляется как статический:

Метод main() не оперирует никакими объектами. На

Метод main() Метод main() объявляется как статический: Метод main() не оперирует никакими
самом деле при запуске программы еще нет никаких объектов. Статический метод main() выполняет и конструирует объекты, необходимые программе

Слайд 21

Создайте пример наследования, реализуйте класс Student и класс Aspirant, аспирант отличается от

Создайте пример наследования, реализуйте класс Student и класс Aspirant, аспирант отличается от
студента наличием некой научной работы.
Класс Student содержит переменные: String firstName, lastName, group. А также double averageMark, содержащую среднюю оценку.
Создать переменную типа Student, которая ссылается на объект типа Aspirant.
Создать метод getScholarship() для класса Student, который возвращает сумму стипендии. Если средняя оценка студента равна 5, то сумма 100, иначе 80. Переопределить этот метод в классе Aspirant. Если средняя оценка аспиранта равна 5, то сумма 200, иначе 180.
Создать массив типа Student, содержащий объекты класса Student и Aspirant. Вызвать метод getScholarship() для каждого элемента массива.

Задание

Слайд 22

Создать класс Animal и расширяющие его классы Dog, Cat, Horse. Класс Animal

Создать класс Animal и расширяющие его классы Dog, Cat, Horse. Класс Animal
содержит переменные food, location и методы makeNoise, eat, sleep. Метод makeNoise, например, может выводить на консоль "Такое-то животное спит". Dog, Cat, Horse переопределяют методы makeNoise, eat. Добавьте переменные в классы Dog, Cat, Horse, характеризующие только этих животных. Создайте класс Ветеринар, в котором определите метод void treatAnimal(Animal animal). Пусть этот метод распечатывает food и location пришедшего на прием животного. В методе main создайте массив типа Animal, в который запишите животных всех имеющихся у вас типов. В цикле отправляйте их на прием к ветеринару.

Задание

Имя файла: lektsia_2_pptm.pptx
Количество просмотров: 32
Количество скачиваний: 0