Skip to content

Commit 6f2555e

Browse files
committed
introdução a heranças
1 parent b6e2b86 commit 6f2555e

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

classes/herancas.py

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
class Car():
2+
"""Uma tentativa simples de representar um carro."""
3+
def __init__(self, make, model, year):
4+
self.make = make
5+
self.model = model
6+
self.year = year
7+
self.odometer_reading = 0
8+
9+
def get_descriptive_name(self):
10+
long_name = f"{self.year} {self.make} {self.model}"
11+
return long_name.title()
12+
13+
def read_odometer(self):
14+
print(f"This car has {self.odometer_reading} miles on it.")
15+
16+
def update_odometer(self, mileage):
17+
if mileage >= self.odometer_reading:
18+
self.odometer_reading = mileage
19+
else:
20+
print("You can't roll back an odometer!")
21+
22+
def increment_odometer(self, miles):
23+
self.odometer_reading += miles
24+
25+
26+
carro = Car('Honda', 'Acura', 2019)
27+
carro.get_descriptive_name()
28+
carro.read_odometer()
29+
carro.update_odometer(23)
30+
carro.read_odometer()
31+
carro.increment_odometer(100)
32+
carro.read_odometer()
33+
34+
35+
class EletricCar(Car):
36+
"""Presenta aspectos especificos de veiculos elétricos"""
37+
def __init__(self, make, model, year):
38+
"""Inicializa os atributos da classe-pai"""
39+
super().__init__(make, model, year)
40+
self.battery_size = 70
41+
42+
def describe_battery(self):
43+
"""Exibe uma frase que descreve a capacidade da bateria"""
44+
print(f"This car has a {self.battery_size} kwh battery.")
45+
46+
47+
carro_eletrico = EletricCar('Tesla', 'Model S', 2019)
48+
print(carro_eletrico.get_descriptive_name())
49+
carro_eletrico.describe_battery()
50+
carro_eletrico.battery_size = 100
51+
carro_eletrico.describe_battery()

0 commit comments

Comments
 (0)