{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# <font color='blue'>Data Science Academy - Python Fundamentos - Capítulo 5</font>\n",
    "\n",
    "## Download: http://github.com/dsacademybr"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Exercícios"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10 34\n",
      "22 78\n"
     ]
    }
   ],
   "source": [
    "# Exercício 1 - Crie um objeto a partir da classe abaixo, chamado roc1, passando 2 parâmetros e depois faça uma chamada\n",
    "# aos atributos e métodos\n",
    "from math import sqrt\n",
    "\n",
    "class Rocket():\n",
    "     \n",
    "    def __init__(self, x=0, y=0):\n",
    "        self.x = x\n",
    "        self.y = y\n",
    "        \n",
    "    def move_rocket(self, x_increment=0, y_increment=1):\n",
    "        self.x += x_increment\n",
    "        self.y += y_increment\n",
    "        \n",
    "    def print_rocket(self):\n",
    "        print(self.x, self.y)\n",
    "        \n",
    "    \n",
    "roc1 = Rocket(10,34)\n",
    "roc1.x\n",
    "roc1.y\n",
    "roc1.print_rocket()\n",
    "roc1.move_rocket(12, 44)\n",
    "roc1.print_rocket()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Objeto criado\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'O usuário Pele mora na cidade Três Corações'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Exercício 2 - Crie uma classe chamada Pessoa() com os atributos: nome, cidade, telefone e e-mail. Use pelo menos 2\n",
    "# métodos especiais na sua classe. Crie um objeto da sua classe e faça uma chamada a pelo menos um dos seus métodos\n",
    "# especiais\n",
    "class Pessoa():\n",
    "    \n",
    "    def __init__(self, nome, cidade, telefone, email):\n",
    "        self.nome = nome\n",
    "        self.cidade = cidade\n",
    "        self.telefone = telefone\n",
    "        self.email = email\n",
    "        print(\"Objeto criado\")\n",
    "        \n",
    "    def __str__(self):\n",
    "        return \"O usuário \" + self.nome + \" mora na cidade \" + self.cidade\n",
    "\n",
    "P1 = Pessoa(\"Pele\", \"Três Corações\", 99887766, \"pele@gmail.com\")\n",
    "str(P1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Valores para o objeto criado: Pequeno Led 64 GB\n"
     ]
    }
   ],
   "source": [
    "# Exercício 3 - Crie a classe Smartphone com 2 atributos, tamanho e interface e crie a classe MP3Player com os \n",
    "# atributos capacidade. A classe MP3player deve herdar os atributos da classe Smartphone.\n",
    "class Smartphone(object):\n",
    "    def __init__(self, tamanho, interface):\n",
    "        self.tamanho = tamanho\n",
    "        self.interface = interface\n",
    "        \n",
    "class MP3Player(Smartphone):\n",
    "    def __init__(self, capacidade, tamanho = 'Pequeno', interface = 'Led'):\n",
    "        self.capacidade = capacidade\n",
    "        Smartphone.__init__(self, tamanho, interface)\n",
    "        \n",
    "    def print_mp3player(self):\n",
    "        print(\"Valores para o objeto criado: %s %s %s\"  %(self.tamanho, self.interface, self.capacidade))\n",
    "    \n",
    "device1 = MP3Player('64 GB')\n",
    "device1.print_mp3player()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### FIM"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Obrigado - Data Science Academy - <a href=\"http://facebook.com/dsacademybr\">facebook.com/dsacademybr</a>"
   ]
  }
 ],
 "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.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
