Desenvolvimento Web com Python e Django
Por: fandrefh • 29/5/2017 • Artigo • 616 Palavras (3 Páginas) • 311 Visualizações
Scripts
Curso: | Desenvolvimento Web com Python e Django |
Professor: | Francisco André |
Plataforma: | Udemy |
Aula: | 2 - Orientação a objetos - Herança | ||||||
Script: | Nesta aula vamos aprender sobre Herança no Python, o conceito de herança em Programação Orientada a Objetos é o mesmo de por exemplo, o filho que herda do pai seus bens materiais e suas características. Portanto, no Python, quando uma classe herda de outra, isso significa que a classe filha herdará todos os seus atributos e métodos, que são seu estado e suas características. No exemplo anterior estávamos trabalhando com a classe Pessoa, então vamos continuar utilizando ela para esta aula. Vamos criar então a classe PessoaFisica(), e esta vai herdar de Pessoa que já está definida aqui. Como já foi dito em outras aulas, o comando import serve para trazer mais recursos ao contexto do seu programa, então para que possamos herdar de Pessoa, vamos ter que fazer o import da classe para o contexto da nossa nova classe PessoaFisica, e aproveitando vou mostrar uma outra forma de fazer “imports”, vimos anteriormente a sintaxe “import os”, por exemplo, desta forma, nós estamos trazendo para o contexto do nosso programa todas funções que o módulo OS disponibiliza, mas se formos analisar a situação, não vamos precisar de todas as funções disponível no módulo, e para estas situações nós temos a seguinte sintaxe: “from os import getcwd”, neste caso estou pedindo para o Python entrar no módulo os.py e verificar se existe a função getcwd() e então fazer o import dela, dessa forma nós teremos somente a função getcwd() em nosso programa, que é a que nos interessa no momento, deixando assim nosso programa mais conciso e até mesmo mais leve, porque estaremos fazendo a importação de recursos, na medida em que for necessário. Da forma mostrada inicialmente, independente de serem ou não usadas, todas as funções do módulo OS estarão no contexto do seu programa, elas estarão vagando, podemos dizer assim, dentro do seu programa. Resumindo, é boa prática fazer a importação somente do que você precisa, para o nosso exemplo vamos precisar da classe Pessoa(), então faremos o import dela da mesma forma da função getcwd(), que é “from pessoa import Pessoa”. Então vamos lá. Definir uma nova classe, a classe PessoaFisica(). O código completo vai ficar assim: from pessoa import Pessoa # sempre essas importações são na primeira linha do programa class PessoFisica(Pessoa): #no Python a herança entre classes se dar com o uso dos Parênteses e não da palavra extends como em outras linguagens como Java, por exemplo. Agora vamos fazer a implementação da classe. Nesta classe vamos ter um atributo diferente, porque a finalidade da herança é exatamente essa, especializar uma classe e de quebra ainda poder usar o que está definido na classe Mãe que é a classe que esta sendo herdada, neste caso a classe Pessoa(). Então vamos criar um atributo “cpf” que recebe uma string vazia. Na classe Mãe, nós sobrescrevemos o método inicializador, que tornamos obrigatório a informação de um nome e uma idade na hora da criação do objeto, portanto aqui devemos também fazer o mesmo com uma pequena diferença. Devemos fazer uso função super() que serve basicamente para acessarmos o método inicializador da classe Mãe, para podermos na hora da criação do objeto PessoaFisica() acessarmos os atributos obrigatórios que definimos lá. Certo? E em seguida fazer a atribuição do cpf. Pronto, o que vamos fazer agora, é simplesmente criar um método que aumente a idade desta pessoa em 1, toda vez que for chamado com um parâmetro “idade”. def aniversario(self, idade): self.idade = self.idade + 1 print(“Fez aniversário de: “ + srt(self.idade) + “ ano(s)”) Então agora vamos instanciar um objeto PessoaFisica() e incrementar a idade da pessoa e vamos ver o resultado disso tudo. | ||||||
Termos novos ou desconhecidos: | Python, Django, Deploy, Framework | ||||||
Checklist: |
|
...