15.85M
Category: informaticsinformatics

Перезагрузка методов ООП Коллекции

1.

Перезагрузка методов
ООП
Коллекции

2.

Основные принципы объектноориентированного программирования
Рассмотрим 4 вида:
-Абстракция
-Инкапсуляция
-Наследование
-Полиморфизм

3.

ТОМ1. Основы ООП - Абстракция
Абстракция
— это когда мы сосредотачиваемся только на существенных
для задачи деталях и игнорируем всё остальное. В ООП
абстракция означает, что для каждого объекта мы задаём
минимальное количество методов, полей и описаний, которые
позволят нам решить задачу. Чем меньше характеристик, тем
лучше абстракция, но ключевые характеристики убирать
нельзя.
Чтобы работать с абстракциями, используют интерфейсы.

4.

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

5.

Основы ООП - Наследование
Наследование – это свойство системы, позволяющее описать
новый класс на основе уже существующего с частично или
полностью заимствующейся функциональностью. Класс, от
которого производится наследование, называется базовым
или родительским. Новый класс – потомком, наследником или
производным классом.

6.

Основы ООП - Полиморфизм
В ООП полиморфизмом чаще всего называют способность
классов с одинаковой спецификацией (интерфейсом)
определять различную реализацию, что, в свою очередь,
позволяет клиентскому коду абстрагироваться от этой самой
реализации и работать с классом, исходя из его
спецификации.

7.

ТОМ2. Перезагрузка методов
Перегрузка методов — это процесс определения в одном и
том же классе двух или более методов с одинаковым именем,
если только объявления их параметров отличаются.

8.

Что дает Перезагрузка методов
Перегрузка методов позволяет
поддерживать принцип «один
интерфейс, несколько методов».
В языках программирования без
перегрузки методов, каждому
методу должно быть присвоено
однозначное имя. Но зачастую
требуется реализовать, по
существу, один и тот же метод
для разных типов данных.
В таком случае, в языках
программирования без
перегрузки реализуют несколько
методов, которые немного
отличаются названиями.

9.

ТОМ3. Коллекции
Коллекция. Коллекция в программировании — программный
объект, содержащий в себе, тем или иным образом, набор
значений одного или различных типов, и позволяющий
обращаться к этим значениям. Коллекция позволяет
записывать в себя значения и извлекать их. Назначение
коллекции — служить хранилищем объектов и обеспечивать
доступ к ним. Обычно коллекции используются для хранения
групп однотипных объектов, подлежащих стереотипной
обработке.

10.

Операции с коллекциями
Список (List) представляет собой динамический
массив - упорядоченный набор элементов и
может содержать повторяющиеся элементы. Вы
можете получить доступ к любому элементу по
индексу. Список является одним из наиболее
используемых типов коллекций.
Основные свойства коллекций, реализующих
интерфейс List:
список может включать одинаковые элементы;
элементы в списке хранятся в том порядке, в
котором они помещались;
можно получить доступ к любому элементу по
его порядковому номеру (индексу) внутри
списка.

11.

Операции над списками
В Python есть несколько операций, которые можно выполнять над списками. Вот некоторые из них:
1 Получение длины. С помощью функции len() можно узнать, сколько в списке содержится
элементов.
2 Доступ по индексу. Благодаря упорядоченности списков к элементам можно обращаться по
индексу.
3 Конкатенация. Списки можно складывать между собой.
4 Удаление элемента или всего списка. Можно выборочно удалять элемент, срез или целый
список.
5 Умножение на целое число. Умножив список на N, мы присоединим к нему N−1 таких же списков.
6 Проверка наличия элемента. Оператор in проверяет наличие элемента в списке, not in —
отсутствие.
7 Минимум и максимум. С помощью функций min() и max() можно определять минимальное и
максимальное значения.
8 Сумма элементов. С помощью функции sum() можно посчитать сумму элементов в списке.

12.

Функция Map
Map — коллекция для хранения данных любого типа в виде
пар [ключ, значение]. Каждое значение сохраняется по
уникальному ключу, который потом используется для доступа
к этому значению. В качестве ключей тоже принимаются
значения любого типа.

13.

Фильтрация элементов в коллекции
Фильтрация элементов коллекции — это операция, при которой из
коллекции отбираются только те элементы, которые удовлетворяют
условию.
В PHP фильтрация выполняется с помощью функции array_filter, а в
других языках её называют просто filter или select.
Фильтрация возвращает коллекцию либо того же размера (если
ничего не было отфильтровано), либо меньшего. Она может вернуть
даже пустую коллекцию, если ни один из элементов не подошёл.
Фильтрация всегда возвращает исходные элементы.

14.

Сортировка коллекций
Сортировка — это процесс организации элементов коллекции
в определённом порядке.
В Python для сортировки коллекций можно использовать:
- метод sort() для списков;
- функцию sorted() для различных итерируемых объектов.
Обе эти функции позволяют сортировать элементы в порядке
возрастания или убывания в зависимости от указанного
параметра.

15.

словарь
Словари в Python – это изменяемые
отображения ссылок на объекты, доступные
по ключу. Словари представляют собой
структуры данных, в которых уникальные
ключи отображают значения.
Ключ и значение разделяются двоеточием,
пары ключ-значения отделяются запятыми, а
словарь целиком ограничивается фигурными
скобками {}.

16.

Действия со словарями
Вот некоторые методы для работы со словарями в
Python:
1 my_dict.clear() — очищает словарь.
2 my_dict.copy() — возвращает копию словаря.
3 my_dict.get(key[, default]) — возвращает значение
ключа, но если его нет, не бросает исключение, а
возвращает default (по умолчанию None).
4 my_dict.items() — возвращает пары (ключ, значение).
5 my_dict.keys() — возвращает ключи.
6 my_dict.pop(key[, default]) — удаляет ключ и
возвращает значение. Если ключа нет, возвращает
default (по умолчанию бросает исключение).
7 my_dict.popitem() — удаляет пару (ключ, значение).
Если словарь пуст, бросает исключение KeyError.
8 my_dict.values() — возвращает значения из словаря.

17.

Кортеж
Кортеж в Python — это более быстрый и неизменяемый
аналог списка.
Он часто используется для защиты хранимых данных
приложения от незапланированных или
непреднамеренных изменений. Кортеж требует
выделения значительно меньшего количества памяти.
Кортеж представляет собой последовательность
элементов (как список), которая не позволяет удалять,
добавлять или изменять своё содержимое. Таким
образом, каждый кортеж создаётся только один раз и
существует в первоначальном виде на протяжении всего
цикла работы приложения.
Существует 2 способа создания кортежа:
- с помощью встроенной функции tuple();
- с помощью круглых скобок.

18.

Операции для кортежа
Кортеж в Python — это более быстрый и неизменяемый аналог списка.
Сравнение кортежей — сравнение элементов по одному в порядке пар до
нахождения различия или пока успешно не будут сравнены все элементы.
Индексация кортежей — использование квадратных скобок [] и номера
индекса. Номер индекса начинается с 0 для первого элемента и
увеличивается на 1 для каждого последующего элемента.
Срезы кортежей — использование синтаксиса tuple[start:end:step] для
указания диапазона элементов, которые будут извлечены из кортежа. И
многое другое

19.

Используемая литература
https://habr.com/ru/companies/otus/articles/52
5336/
https://cig-rdlab.gitbook.io/oop/2019-2020-arch
ive/arkhiv-1/lectures/method_overloading
https://timeweb.cloud/tutorials/java/peregruzka
-i-pereopredelenie-metodov-v-java-primery?
ysclid=lun2fpfp95200136235

20.

Спасибо за внимание
English     Русский Rules