Académique Documents
Professionnel Documents
Culture Documents
Orientada a Objetos
Algoritmos e Estruturas de Dados
Daniel Guerreiro e Silva
Objetos ...
2
Objetos...
• Os atributos de um objeto definem as qualidades e
características da entidade que ele representa
• O estado de um objeto é o particular conjunto de
valores de seus atributos, em um dado momento
• O comportamento de um objeto é definido pelas
alterações do seu estado em resposta a mensagens
que ele recebe (interação com outros objetos)
3
Classes e Objetos
• Classe:
• “esqueleto” que serve de molde para a criação de
objetos. Define os atributos e os comportamentos que
são comuns a todos os objetos da classe
• Objeto:
• instância de uma classe, ou seja, um elemento de
programação que apresenta os comportamentos e
atributos definidos pela classe da qual foi instanciado
4
Classes
objeto árvore
objeto árvore
objeto árvore
5
Design Orientado a Objetos
• Modela software em termos semelhantes àqueles
que as pessoas usam para descrever objetos da
vida real
• Tira proveito dos relacionamentos de classe e de
herança
• Modela-se através de uma linguagem gráfica, a
UML, para chegar a um design que atenda os
requisitos do cliente
• Java, Python, C++ são exemplos de linguagens
orientadas a objetos
6
Vantagens da Programação Orientada
a Objetos
8
Instâncias
Nome
Cargo
Classe Funcionário
9
Instâncias ...
• Uma classe descreve os elementos que compõem
um objeto
• Importante: a classe é usada apenas para modelar
as características de um conjunto de objetos
• A criação ou instanciação de um objeto de uma
classe provoca a alocação de memória para
armazenar os seus atributos
10
Variáveis de Instância
• Os atributos dos objetos são definidos por
variáveis.
• As variáveis de instância definem atributos que
podem receber diferentes valores em objetos
distintos.
11
Variáveis de Instância
• Exemplo:
• na classe funcionário, cada objeto instanciado modela
uma pessoa que tem seu próprio nome
• nome é, portanto, uma variável de instância
12
Variáveis de Classe
• Atributos comuns a todos os elementos da classe
são armazenados em variáveis de classe
• Ela armazena informações sobre a classe inteira, não
apenas sobre um determinado objeto
• Exemplo:
• na classe funcionário, o número de funcionários de uma
empresa seria uma variável de classe, pois não se refere
a nenhum funcionário em particular
13
Classes x Instâncias
• Exemplo:
• uma empresa com 3 funcionários :
Nome
Cargo Variável de Classe
Total: 3
Variáveis de Instância
14
Classes x Instâncias
• Ex: membros de uma família
Nome
Sobrenome: Silva Variável de Classe:
Idade nome de família
Sexo
15
Métodos
• O comportamento de um objeto é definido a partir
de procedimentos que alteram, em geral, seu
estado (os valores de seus atributos)
• Em OO estes procedimentos são chamados de
métodos ou funções-membro
16
Métodos ...
• Objetos comunicam-se entre si através de métodos
• Através dos métodos é possível:
• consultar os valores de atributos (variáveis de instância)
de um objeto
• alterar o valor de atributos do objeto
• solicitar um serviço ao objeto
• fornecer informações ao objeto
17
Métodos e funções em C++
• Definição de um método ou de uma função em
C++:
<tipo_retorno> nomeMetodo(<lista_de_parametros>)
{
<corpo_do_método>
}
18
Exercício
• Vamos escrever um programa arvore.cpp, que
contém:
draw() Comportamento e
Formas move() atributos herdados
x, y
Bidimensionais Tridimensionais