Orientação a Objetos

Transcrição

Orientação a Objetos
Orientação a
Objetos
Marcelo da Silveira Siedler
Orientação a Objetos
¤  Termo que descreve uma série de técnicas para
estruturar soluções para problemas computacionais
¤  Paradigma de programação no qual um programa
é estruturado em objetos
¤  Pressupõe uma organização de software em
termos de coleção de objetos discretos
incorporando estrutura e comportamento próprios.
¤  Diferente do desenvolvimento tradicional de
software, onde estruturas de dados e rotinas são
desenvolvidas de forma apenas fracamente
acopladas.
História
¤  Programação Linear
¤  Programação Estruturada
¤  Programação Orientada a Objetos
Programação Linear
¤  Processamento tipo INPUT/OUTPUT
¤  Entrada (INPUT) dos programas e dados em único
sentido
¤  Processamento dos dados de forma linear
¤  Saída (OUT)
Programação Linear
Ler A;
Ler B;
Fazer C = A + B;
Escrever C;
Fim;
Ler A;
Se A < 0 Então Ir Para :erro
Fazer B = RaizQuadrada(A);
Escrever B;
Ir Para :fim
:erro
Escrever “Parâmetro Inválido”;
:fim
Fim;
Programação Estruturada
¤  Baseada na construção de procedimentos com
execução seqüencial de comandos
¤  Introdução do conceito de funções e procedimentos
¤  Ênfase na reutilização de código
¤  Consciência sobre o custo da complexidade
Programação Estruturada
Procedimento Principal()
{
Ler A;
Ler B;
Fazer C = Somar(A, B);
Fazer D = Raiz(A);
Escrever C;
Escrever D;
Fim;
}
Função Somar(V1, V2)
{
Fazer R = V1 + V2;
Retornar R;
}
...
...
Função Raiz(V)
{
Se V < 0 Então
{
Exibir Erro;
}
Caso Contrário
{
Fazer R =
RaizQuadrada(V)
Retornar R;
}
}
Programação OO
¤  Ênfase na reutilização de código
¤  Facilidade de documentação
¤  Facilidade de manutenção do código
¤  Maior agilidade na distribuição e organização de
equipes de trabalho
¤  Linguagens de programação: C++, Java, C#, VB.Net
Conceitos Orientação a Objetos Classe
¤ Grupo de Objetos que possuem as mesmas
características e comportamento: pessoa,
carro.
¤ Possuem atributos (características) que
podem variar de objeto para objeto e
métodos (atividade) que um objeto pode
executar
Conceitos Orientação a Objetos Objeto
¤ Um objeto é uma entidade do mundo real
que tem uma identidade
¤ Objetos podem representar entidades
concretas (um arquivo no meu
computador, uma bicicleta) ou entidades
conceituais (uma estratégia de jogo, regras
para configuração de servidor). Cada
objeto ter sua identidade significa que dois
objetos são distintos mesmo que eles
apresentem exatamente as mesmas
características.
Classes e Objetos
¤  Classe: receita para criação do objeto (o programa que
origina um objeto, receita de bolo)
¤  Objeto: “materialização” da classe dentro do
computador (também chamado de instância, o bolo
propriamente dito)
Classes e Objetos
João é um objeto da classe Pessoa
Gol é um objeto da classe carro
Classe
¤  Define comportamentos através de métodos
¤  Determina os estados possíveis através de atributos
¤  Métodos = Procedimentos e Funções
¤  Atributos = Campos da estrutura de dados
Modelagem de Classes na UML
¤ Diagrama de Classe
¤  Oferecem uma notação gráfica formal para a
modelagem de classes e seus relacionamentos
¤  Uma Classe refere-se a descrição de um conjunto
de objetos que compartilham os mesmos atributos,
operações e relacionamentos
Notação
Nome da Classe
¤  O nome de uma classe distingue uma classe de
outra classe.
¤  Nome simples
¤  Nome do caminho: o nome da classe é precedido pelo
nome do pacote (subsistema) em que a classe existe
Atributo
¤  Características de uma classe
¤  Exemplos:
¤  Idade
¤  - endereço : String
¤  + CPF : inteiro
¤  # nroCorrentistas : Inteiro
Operações / Métodos
¤  Uma operação é um serviço que pode ser
requisitado a qualquer objeto da classe, afetando
seu estado (afetando valor de seus atributos)
¤  Operações de classes X Operações de Objetos
¤  Operações de objetos: atuam sobre um objeto (instância)
¤  Operações de classes: atuam sobre a classe
¤  Ex: consultar

Documentos relacionados