Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Aula Computação em Python - Classes 2, Notas de aula de Fundamentos da Computação

Aula abordando o tópico de classes dentro da computação na linguagem Python.

Tipologia: Notas de aula

2020

Compartilhado em 19/05/2020

PedroPereira
PedroPereira 🇧🇷

4.9

(8)

8 documentos

1 / 25

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Orientação a
Objetos parte 2
ENCAPSULAMENTO, CLASSES, HERANÇAS
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Pré-visualização parcial do texto

Baixe Aula Computação em Python - Classes 2 e outras Notas de aula em PDF para Fundamentos da Computação, somente na Docsity!

Orientação a

Objetos – parte 2

ENCAPSULAMENTO, CLASSES, HERANÇAS

Encapsulamento

 Proteger a integridade da classe escondendo certas

informações dos usuários dessa classe e mostrar somente

aquilo que é necessário para a utilização da classe

 Expor o mínimo possível de funcionalidades

Atributos e métodos privados class Cliente(): def init (self, nome, dataNasc): self.nome = nome self.__cpf = None self.__dataNascimento = dataNasc def __validarCPF(self, cpf): #código para validação do CPF def inserirCPF(self, cpf): self.__validarCPF(cpf) self.__cpf = cpf

Atributos e métodos privados class Cliente(): def init (self, nome, dataNasc): self.nome = nome self.__cpf = None self.__dataNascimento = dataNasc def __validarCPF(self, cpf): #código para validação do CPF def inserirCPF(self, cpf): self.__validarCPF(cpf) self.__cpf = cpf Atributos e métodos que iniciam com __ (duplo underline) são chamados privados. Os demais são chamados públicos

Getters e Setters

class Conta():

def init (self):

self.__saldo = 0.

self.__limite = 0.

def getLimite(self):

return self.__limite

def setLimite(self, novoLimite):

self.__limite = novoLimite

def getSaldo(self):

return self.__saldo + self.__limite

Construtor

 Método especial que é invocado toda vez que é criada

uma instância de uma classe

 Objetivo do construtor é definir valores iniciais para o

objeto que está sendo criado

 Facilita a inicialização de atributos obrigatórios

 Basta sobrescrever o método init

 Se construtor não for criado, o Python utiliza o construtor

default , que não faz nada

Construtor com parâmetros opcionais

 Definido da mesma forma que funções com parâmetros

opcionais

class Estudante():

def init(self, nome, nota = 0.0):

self.__nome = nome

self.__nota = nota

e1 = Estudante(‘Peter Parker’, 10.0);

e2 = Estudante(‘Clark Kent’);

Exercícios

1) Construa classes para serem usadas em uma fábrica de

carros

 Crie uma classe Motor com os atributos privados potencia e tipo, recebendo esses atributos no construtor.  Crie uma classe Carro com os atributos públicos cor, modelo e velMaxima, e o atributo privado motor. No construtor receba todos os atributos, menos motor.  Crie na classe Carro a função trocaMotor, que recebe um motor como argumento e o coloca no lugar do motor atual. Para testar: m1 = Motor(90,’A’) c1 = Carro(‘preto’,’passeio’,180.0) c1.trocaMotor(m1)

Herança

 É a capacidade de uma classe em herdar atributos e

métodos de outras classes

 Reutilização de código

 Hierarquia entre as classes

 Nomenclatura

 Superclasse, classe mãe, classe base  Subclasse, classe filha, classe derivada

 Simples ou Múltipla

Herança

 Todos os atributos e métodos da superclasse (classe pai)

são herdados pelas subclasses (classes filhas)

 A classe filha eventualmente terá atributos e métodos a

mais que a classe pai

 Métodos e atributos podem ser sobrescritos: se houver

um método ou atributo na classe filha com o mesmo

nome da classe pai, uma instância do objeto da classe

filha, ao executar tal método, executa o método da

classe filha

 Um filho pode ter mais de um pai (herança múltipla)

Herança Simples PESSOA Cpf, nome, telefone Respirar PROFESSOR Salario Dar aula ALUNO Matricula, CR Assistir aula PROFESSOR é ao mesmo tempo subclasse de PESSOA e superclasse de COORDENADOR COORDENADOR Coordenar

Exemplo

Exemplo Chama construtor da superclasse Método respirar() herdado de Pessoa Identifica superclasse Saída: José da Silva está respirando José da Silva está dando aula

Herança Múltipla CARRO Chassi, ano CARRO_ELETRICO eletrico CARRO_GNV gnv CARRO_HIBRIDO CARRO_COMUM combustivel