Programação Orientada a Objeto Prof. Esp. Thiago S F Carvalho Faculdades Integradas de Diamantino 2016 Caravalho, T.S.F. (FID) POO 2016 1 / 11 Breve Revisão Conteúdo 1 Breve Revisão 2 Voltando ao Python Caravalho, T.S.F. (FID) POO 2016 2 / 11 Breve Revisão Voltando... OO é um paradima que considera um programa como um grande bate papo entre objetos que são criados e destruidos a todo momento. Os objetos conhecem a si mesmos e respondem as perguntas com base nos seus atributos e com os seus próprios métodos. Caravalho, T.S.F. (FID) POO 2016 3 / 11 Breve Revisão Lembre-se 1 2 3 Classes são modelos que denim as propriedades (atributos) e comportamentos (métodos) de seus representantes; Os Objetos são as instâncias (ou representantes) da classe); Todos os Objetos embora tendo um mesmo modelo, possuem estados diferentes. Caravalho, T.S.F. (FID) POO 2016 4 / 11 Voltando ao Python Conteúdo 1 Breve Revisão 2 Voltando ao Python Caravalho, T.S.F. (FID) POO 2016 5 / 11 Voltando ao Python Sintaxe A criação de classes em Python se dá através da palavra reservada class. A palavra reservada pass diz ao Python que a classe não fará nada. class Relogio: pass Caravalho, T.S.F. (FID) POO 2016 6 / 11 Voltando ao Python Denindo sua primeira classe Vamos analisar um exemplo: class Tv: cor='cinza' canais=10 marca='filipos' class Radio: cor='preto' estacoes=8 marca='alcalino' Vamos instanciar esses objetos e analisá-los. Caravalho, T.S.F. (FID) POO 2016 7 / 11 Voltando ao Python Outro exemplo class Salario: base = 12000 def calculaImposto(self): self.liquido = self.base-(self.base * 0.275) A seguir tente instanciar essa classe numa variável e chame o método. Caravalho, T.S.F. (FID) POO 2016 8 / 11 Voltando ao Python Utilizando um Construtor Vamos ver agora como o método especial construtor init da classe funciona em Python: class Tv: canais=10 cor="cinza" def __init__(self, marca): self.marca=marca Vamos tentar utilizá-lo? Caravalho, T.S.F. (FID) POO 2016 9 / 11 Voltando ao Python E a herança em Python? Vamos criar três classes Pai, Filho, e Neto e ver como funciona class Pai: nome = 'João' sobrenome = 'Silva' esporte = 'golfe' class Filho(Pai): nome = 'José' esporte = 'call of duty' class Neto(Filho): nome = 'Pedrinho' Caravalho, T.S.F. (FID) POO 2016 10 / 11 Voltando ao Python Exercício Vamos desenhar os seguintes objetos: 1 um objeto operacaoBasica: que seja capaz de receber parametros e executar operação de soma e subtração 2 um objeto operacaoAvancada: que além das operacões disponíveis no o objeto operacaoBasica, seja capaz de multiplicar e dividir numeros; 3 um outro objeto operacaoQuadrado: que adicione a funcionalidade de elevar o número ao quadrado. Caravalho, T.S.F. (FID) POO 2016 11 / 11