In [ ]:
class Pessoa(object):
def __init__(self, nome, idade):
self.nome = nome
self.idade = idade
In [ ]:
joao = Pessoa()
In [ ]:
joao = Pessoa('João', 20)
print(joao, '\n')
print(joao.nome)
print(joao.idade)
In [ ]:
joao.nome = 'João Pedro'
print(joao.nome)
In [ ]:
maria = Pessoa('Maria', 20)
print(maria)
print(maria.nome)
print(maria.idade)
In [ ]:
class Pessoa(object):
def __init__(self, nome, idade):
self.nome = nome
self.__idade = idade
In [ ]:
pedro = Pessoa('Pedro', 30)
print(pedro.nome)
In [ ]:
print(pedro.__idade)
Desta forma não conseguimos recuperar e nem alterar o valor dessa variável privada. Para isso precisamos construir dois métodos, um para definir (setter) o valor e outro para recuperar (getter) o valor.
In [ ]:
class Pessoa(object):
def __init__(self, nome, idade):
self.nome = nome
self.__idade = idade
@property
def idade(self):
return self.__idade
@idade.setter
def idade(self, nova_idade):
self.__idade = nova_idade
In [ ]:
pedro = Pessoa('Pedro', 30)
In [ ]:
print(pedro.nome)
pedro.idade = 50
In [ ]:
print(pedro.idade)
In [ ]:
class Pessoa(object):
def __init__(self, nome, idade):
self.nome = nome
self.__idade = idade
@property
def idade(self):
return self.__idade
@idade.setter
def idade(self, nova_idade):
self.__idade = nova_idade
In [ ]:
class Atleta(Pessoa):
def __init__(self, nome, idade, peso):
Pessoa.__init__(self, nome, idade)
self.peso = peso
self.aposentado = False
def aquecer(self):
print("Atleta Aquecido")
def aposentar(self):
self.aposentado = True
In [ ]:
jose = Atleta('Jose', 30, 80)
print(jose.aposentado)
In [ ]:
jose.aposentar()
print(jose.aposentado)
In [ ]:
jose.aquecer()
In [ ]:
jose.nome = 'Zé'
print(jose.nome, jose.idade, jose.peso)
In [ ]:
class Corredor(Atleta):
def correr(self):
print("Corredor correndo")
class Nadador(Atleta):
def nadar(self):
print("Nadador nadando")
class Ciclista(Atleta):
def pedalar(self):
print("Ciclista pedalando")
In [ ]:
pedro = Ciclista('Pedro', 30, 100)
print(dir(pedro))
In [ ]:
class Triatleta(Corredor, Nadador, Ciclista):
def triatlo(self):
print("Iniciar prova")
a) Crie uma instancia da classe Pessoa com o nome de joao.
b) Crie uma instancia da classe Atleta com o nome de anderson.
c) Crie uma instancia da classe Corredor com o nome de vanderlei.
d) Crie uma instancia da classe Triatleta com o nome de silvia.
e) Análise o comportamento da criação e teste os métodos existentes em cada uma das instâncias criadas.
In [ ]: