{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "76f6cab6",
   "metadata": {},
   "source": [
    "# Тест по наследованию #"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3799df11",
   "metadata": {},
   "source": [
    "##### Вас зовут:\n",
    "___"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2b586a08",
   "metadata": {},
   "source": [
    "##### 1. Наследование классов нужно:\n",
    "\n",
    "- [ ] для создания экземпляров класса\n",
    "- [ ] для изменения поведения класса\n",
    "- [ ] для расширения функционала класса\n",
    "- [ ] для ограничения доступа к атрибутам класса предка"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fe834941",
   "metadata": {},
   "source": [
    "##### 2. Выберите истинные утверждения\n",
    "\n",
    "- [ ] Для вызова нужного метода используется линеаризация класса\n",
    "- [ ] В **Python** разрешено множественное наследование\n",
    "- [ ] Все классы в **python** унаследованы от класса `object`\n",
    "- [ ] Классы-примеси используются в множественном наследовании"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "353fd015",
   "metadata": {},
   "source": [
    "##### 3. Предположим есть базовый класс питомец - `Pet` и класс наследник - `Dog`. Отметьте все варианты вызова метода `Pet.__init__` из инициализатора класса потомка.\n",
    "\n",
    "- [ ] `super(Dog, self).__init__()`\n",
    "- [ ] `super(Pet, self).__init__()`\n",
    "- [ ] `super().__init__()`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7d3d9230",
   "metadata": {},
   "source": [
    "##### 4. Предположим есть базовый класс питомец - `Pet` и класс наследник - `Dog`. Отметьте варианты, которые вернут `True`\n",
    "\n",
    "- [ ] `issubclass(Pet, Dog)`\n",
    "- [ ] `issubclass(Dog, object)`\n",
    "- [ ] `issubclass(Pet, object)`\n",
    "- [ ] `issubclass(Dog, Pet)`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "24f973e5",
   "metadata": {},
   "source": [
    "##### 5. Предположим есть базовый класс питомец - `Pet` и класс наследник - `Dog`. Отметьте варианты, которые вернут `True`\n",
    "\n",
    "- [ ] `isinstance(Dog(), Dog)`\n",
    "- [ ] `isinstance(Dog(), Pet)`\n",
    "- [ ] `isinstance(Dog, Dog)`\n",
    "- [ ] `isinstance(Pet(), Dog)`\n",
    "- [ ] `isinstance(Pet(), object)`"
   ]
  }
 ],
 "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.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
