{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "04130c52",
   "metadata": {},
   "source": [
    "# Объектно-ориентированное программирование #\n",
    "\n",
    "В третьем блоке вас ждёт погружение в мир объектно-ориентированного программирования на Python. Вы научитесь создавать свои классы, применять наследование и обрабатывать исключения в программах."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3ead1867",
   "metadata": {},
   "source": [
    "## Задачи обучения ##\n",
    "\n",
    "- Научиться создавать классы и работать с ними.\n",
    "- Научиться обрабатывать исключения.\n",
    "- Научиться работать с файлами с помощью языка Python.\n",
    "- Знать механизмы наследования и уметь их применять."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0c7c6986",
   "metadata": {},
   "source": [
    "## Оглавление ##"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a4f7427a",
   "metadata": {},
   "source": [
    "### Классы и объекты ###\n",
    "\n",
    "- [Классы и экземпляры](1.%20Классы%20и%20объекты/Классы%20и%20экземпляры.ipynb)\n",
    "- [Методы](1.%20Классы%20и%20объекты/Методы.ipynb)\n",
    "- [Документация](1.%20Классы%20и%20объекты/Документация.ipynb)\n",
    "- [Пример на классы](1.%20Классы%20и%20объекты/Пример%20на%20классы.ipynb)\n",
    "- [Тест по классам и объектам](1.%20Классы%20и%20объекты/Тест%20по%20классам%20и%20объектам.ipynb)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4ba3bf64",
   "metadata": {},
   "source": [
    "### Наследование ###\n",
    "\n",
    "- [Наследование в Python](2.%20Наследование/Наследование%20в%20Python.ipynb)\n",
    "- [Композиция классов](2.%20Наследование/Композиция%20классов.ipynb)\n",
    "- [Документация](2.%20Наследование/Документация.ipynb)\n",
    "- [Тест по наследованию](2.%20Наследование/Тест%20по%20наследованию.ipynb)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "27b35ced",
   "metadata": {},
   "source": [
    "### Работа с ошибками ###\n",
    "\n",
    "- [Классы исключений и их обработка](3.%20Работа%20с%20ошибками/Классы%20исключений%20и%20их%20обработка.ipynb)\n",
    "- [Генерация исключений](3.%20Работа%20с%20ошибками/Генерация%20исключений.ipynb)\n",
    "- [Исключения в requests](3.%20Работа%20с%20ошибками/Исключения%20в%20requests.ipynb)\n",
    "- [Документация](3.%20Работа%20с%20ошибками/Документация.ipynb)\n",
    "- [Тест по блоку](3.%20Работа%20с%20ошибками/Тест%20по%20блоку.ipynb)\n",
    "- [Реализация простого класса для чтения из файла](3.%20Работа%20с%20ошибками/Реализация%20простого%20класса%20для%20чтения%20из%20файла.ipynb)\n",
    "- [Задания про классы и наследование](3.%20Работа%20с%20ошибками/Задания%20про%20классы%20и%20наследование.ipynb)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "58e29197",
   "metadata": {},
   "source": [
    "В этом блоке мы познакомились с устройством классов в языке Python. Теперь вы знаете как объявить свой класс, добавить к нему атрибут, метод, создать экземпляр и обратиться к атрибуту или методу. Также мы обсудили то, как устроено наследование в языке Python, рассмотрели примеры с множественным наследованием. Теперь мы знаем, как Python вызывает методы в сложной иерархии классов. Также мы рассмотрели примеры для работы с исключениями. Все эти инструменты вы можете использовать при выполнении домашних заданий и написании собственных программ на языке Python. В следующем блоке мы продолжим изучение объектно-ориентированного программирования на языке Python. [Далее...](../4.%20Углубленный%20Python/Readme.ipynb)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
