Skip to content

Commit f5b9431

Browse files
committed
heranças e instancias
1 parent 65c5720 commit f5b9431

File tree

2 files changed

+55
-1
lines changed

2 files changed

+55
-1
lines changed

classes/herancas.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,5 @@ def fill_gas_tank(self):
6969
carro_eletrico.battery_size = 100
7070
carro_eletrico.describe_battery()
7171
carro_eletrico.fill_gas_tank()
72-
carro_eletrico.read_gas_tank()
72+
carro_eletrico.read_gas_tank()
73+

classes/instancias_as_atributos.py

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
class Car:
2+
def __init__(self, make, model, year):
3+
self.make = make
4+
self.model = model
5+
self.year = year
6+
7+
def get_descriptive_name(self):
8+
long_name = f'{self.make} {self.model} {self.year}'
9+
return long_name.title()
10+
11+
12+
class Battery():
13+
"""Uma tentativa simples de modelar uma bateria para um carro elétrico."""
14+
15+
def __init__(self, battery_size=70):
16+
"""Inicializa os atributos da bateria"""
17+
self.battery_size = battery_size
18+
19+
def describe_battery(self):
20+
"""Exibe uma frase que descreve a capacidade da bateria."""
21+
print(f'This car has a {self.battery_size} kWh battery.')
22+
23+
def get_range(self):
24+
"""Exibe uma frase sobre a distância que o carro é capaz de percorrer com essa bateria."""
25+
if self.battery_size == 70:
26+
range = 240
27+
elif self.battery_size == 85:
28+
range = 270
29+
30+
message = f'This car can go approximately {range} miles on a full charge.'
31+
print(message)
32+
33+
34+
class EletricCar(Car):
35+
"Representa aspectos especificos de veículos elétricos."
36+
37+
def __init__(self, make, model, year):
38+
"""Inicializa os atributos da classe-pai. Em seguida, inicializa os atributos especificos de um carro
39+
eletrico."""
40+
super().__init__(make, model, year)
41+
self.battery = Battery()
42+
43+
44+
carro = Car('Honda', 'Civic', 2022)
45+
carro_eletrico = EletricCar('Tesla', 'Model S', 2023)
46+
47+
print(carro.get_descriptive_name())
48+
49+
print(carro_eletrico.get_descriptive_name())
50+
carro_eletrico.battery.describe_battery()
51+
carro_eletrico.battery.get_range()
52+
53+

0 commit comments

Comments
 (0)