O documento apresenta uma introdução à programação orientada a objetos em Python, abordando conceitos como classes, atributos, métodos, objetos, encapsulamento, herança e polimorfismo. Explica que classes definem modelos para objetos e são compostas por atributos e métodos.
O documento apresenta uma introdução à programação orientada a objetos em Python, abordando conceitos como classes, atributos, métodos, objetos, encapsulamento, herança e polimorfismo. Explica que classes definem modelos para objetos e são compostas por atributos e métodos.
O documento apresenta uma introdução à programação orientada a objetos em Python, abordando conceitos como classes, atributos, métodos, objetos, encapsulamento, herança e polimorfismo. Explica que classes definem modelos para objetos e são compostas por atributos e métodos.
O documento apresenta uma introdução à programação orientada a objetos em Python, abordando conceitos como classes, atributos, métodos, objetos, encapsulamento, herança e polimorfismo. Explica que classes definem modelos para objetos e são compostas por atributos e métodos.
Baixe no formato PDF, TXT ou leia online no Scribd
Fazer download em pdf ou txt
Você está na página 1de 28
Centro Universitário Cidade Verde
Engenharia de Software e Análise e Desenvolvimento de Sistemas
Programação Orientada a Objetos
Programação Orientada a Objetos
Classes, atributos, métodos e instâncias de objetos
prof_leandrosilva@unicv.edu.br INTRODUÇÃO
Programação Orientada a Objetos 2
Introdução
• Paradigma Procedural é um paradigma clássico
• Dados são globais, e as ações são executadas em sequência
Programação Orientada a Objetos 3
Introdução
• Programação Orientada a Objetos é um paradigma de programação
• Baseado no conceito de objetos
Programação Orientada a Objetos 4
Introdução
• Programação Orientada a Objetos é um paradigma de programação
• Baseado no conceito de objetos
• Um objeto é uma instância de uma classe
• Classe é pode ser vista como um modelo para um objeto
• Uma classe é composta por:
• Atributos: dados (ou estados) • Métodos: funções (ou operações)
Programação Orientada a Objetos 5
Disponível em https://www.linkedin.com/pulse/programa%C3%A7%C3%A3o-orientada-objetos-diego-rocha/?originalSubdomain=pt
Programação Orientada a Objetos 6
Introdução
• Abstração consiste em mapear um objeto do mundo real de forma lógica
• A representação lógica é feita por meio de uma classe
• Um objeto (mundo real) é abstraído para uma classe (representação lógica):
• Atributos: propriedades (estados) que os objetos de uma classe deve possuir • Métodos: ações (comportamentos) que os objetos de uma classe pode executar
Programação Orientada a Objetos 7
Introdução
• Encapsulamento é uma forma de proteger o acesso aos atributos da classe
• Modificador de acesso private para os atributos • Métodos getters e setters com o modificador de acesso public
• Em Python, não existem modificadores de acesso como em Java
• No entanto, existem convenções para declarar atributos e métodos privados
Programação Orientada a Objetos 8
Introdução
Programação Orientada a Objetos 9
Introdução
• Herança é uma forma de reaproveitar código entre as classes
• Superclasse descreve um modelo padrão (genérico) • Subclasses estender e podem customizar seus comportamentos (específico)
• Herança é o principal pilar para o reúso de código da Orientação a Objetos
• Em Python, fazendo na declaração da classe
• Em Python, uma classe pode estender várias classes diretamente!
• Conceito de Herança Múltipla
Programação Orientada a Objetos 10
Introdução
Programação Orientada a Objetos 11
Introdução
• Abstração e Polimorfismo são pilares relacionados com o reúso
• Abstração é aplicada a nível de classe e método • Polimorfismo está relacionado ao tipo e sua instância
• Abstração e Polimorfismo estão relacionadas com a herança
• Em orientação a objetos, “qualquer coisa” é considerada um objeto
• Objetos são instâncias de classes
• Os objetos se comunicam por meio de mensagens
• Métodos (descritos na classe) fazem os objetos transmitirem mensagens
• Python oferece suporte ao Paradigma de Orientação a Objetos
• Padrão camel case para classes. Ex: Carro, AlunoGraducao, etc. • Padrão snake case para atributos e métodos. Ex: nome_completo, get_nome, etc. • Uso da palavra self para representar a própria instância
Programação Orientada a Objetos 14
Classes e Objetos
• Em orientação a objetos, “qualquer coisa” é considerada um objeto
• Objetos são instâncias de classes • Métodos (descritos na classe) fazem os objetos transmitirem mensagens
Programação Orientada a Objetos 15
Classes e Objetos
• Em orientação a objetos, “qualquer coisa” é considerada um objeto
• Objetos são instâncias de classes
Programação Orientada a Objetos 16
Classes e Objetos
• Python é uma linguagem que suporta o paradigma de orientação a objetos
• Portanto, é possível declarar classes e instanciar objetos
Programação Orientada a Objetos 17
Classes e Objetos
• Linha 1: declaração da classe Conta
• Linhas 3 a 6: declaração dos atributos codigo (int), nome (str) e saldo (double) da classe Conta com o método construtor • Linhas 8 e 9: declaração do método extrato da classe Conta • Linhas 11 a 15: declaração do método sacar da classe Conta • Linhas 17 a 21: declaração do método depositar da classe Conta
Programação Orientada a Objetos 18
Classes e Objetos
• Linha 1: instanciação de um objeto da
classe Conta para a variável conta_1
• Linha 2: chamada do método extrato
da conta_1
• Linha 3: chamada do método depositar
com o valor 500,00 para conta_1
• Linha 5 e 6: chamada do método sacar
com os valores 1000,00 e 300,00
Programação Orientada a Objetos 19
Classes e Objetos • O método construtor é responsável por definir como é possível instanciar um objeto da classe
• Método construtor SEMPRE possui o nome __init__
• Em Python, só é reconhecido um construtor por classe
Programação Orientada a Objetos 20
Classes e Objetos
• Em Python, só é reconhecido um construtor por classe
Programação Orientada a Objetos 21
EXERCÍCIO
Programação Orientada a Objetos 22
Exercício
• Descreva uma classe que represente um produto de um mercado