Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Desafio 5: Classes | Python
Desafio de Entrevista em Ciência de Dados

book
Desafio 5: Classes

Classes

As classes formam a espinha dorsal da Programação Orientada a Objetos (OOP) em Python. Seu papel integral é evidente em:

  • Encapsulamento: As classes permitem agrupar dados e métodos que operam nesses dados em uma única unidade, garantindo coesão e modularidade.
  • Herança: Permite a criação de uma nova classe com base em uma classe existente, promovendo a reutilização de código e estabelecendo uma relação entre a classe pai e a classe filha.
  • Polimorfismo: Com as classes, é possível usar uma interface para um tipo geral de ações, permitindo que diferentes classes sejam tratadas como instâncias da mesma classe por meio de sobrescrita de métodos.

Em resumo, as classes fornecem um modelo para a criação de objetos e uma base para a OOP, facilitando o design de código estruturado e escalável.

Tarefa

Swipe to start coding

Você possui uma classe base Shape com um método area. Derive duas subclasses Rectangle e Circle dela, as quais calcularão as áreas para suas respectivas formas.

  1. Herde a classe Rectangle da classe Shape.
  2. Defina o método area para a classe Rectangle.
  3. Herde a classe Circle da classe Shape.
  4. Defina o método area para a classe Circle.

Solução

import math

class Shape:
def area(self):
pass

class Rectangle(Shape): # 1. Inherit class Rectangle from class Shape
def __init__(self, width, height):
self.width = width
self.height = height

def area(self): # 2. Define area method for Rectangle class
return self.width * self.height

class Circle(Shape): # 3. Inherit class Circle from class Shape
def __init__(self, radius):
self.radius = radius

def area(self): # 4. Define area method for Rectangle class
return math.pi * (self.radius ** 2)

# Usage:
rect = Rectangle(10, 5)
print(rect.area())

circle = Circle(7)
print(circle.area())
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 6
import math

class Shape:
def area(self):
pass

class Rectangle___: # 1. Inherit class Rectangle from class Shape
def __init__(self, width, height):
self.width = width
self.height = height

___ # 2. Define area method for Rectangle class

class Circle___: # 3. Inherit class Circle from class Shape
def __init__(self, radius):
self.radius = radius

___ # 4. Define area method for Rectangle class


rect = Rectangle(10, 5)
print(rect.area())

circle = Circle(7)
print(circle.area())
toggle bottom row
some-alt