Upload
phunghuong
View
215
Download
0
Embed Size (px)
Citation preview
Algoritmos e Programação II
Agenda
� Desenvolver Software
� Objetos
� Classes
� Estudo de algumas Classes da API � Estudo de algumas Classes da API
� Pacotes
� Criando nossa primeira classe
Desenvolver SOFTWARE
GAP Semântico
� Distância entre o problema no mundo real e o modelo abstrato construído;
� Quanto menor, mais rápida será a construção da solução;construção da solução;
� Portanto, diminuir o gap semântico tornou-se um dos objetivos da Engenharia de Software;
� O paradigma orientado a objetos busca meios de diminuir este gap.
Paradigmas de desenvolvimento
O que é um paradigma?
� Um exemplo, um modelo, um padrão;
� Um conjunto de idéias, uma base filosófica.
� Um paradigma de desenvolvimento agrupa � Um paradigma de desenvolvimento agrupa métodos e técnicas que seguem um mesmo conjunto de princípios;
Os dois mais conhecidos são:
◦ Desenvolvimento Estruturado;
◦ Orientação a Objetos (OO).
Paradigmas de desenvolvimento
Estruturado:
◦ Modelo entrada – processamento – saída;
◦ Dados separados das funções.
Orientado a Objetos (OO):Orientado a Objetos (OO):
◦ O mundo é composto por objetos;
◦ Objetos combinam dados e funções;
◦ Conceitos do problema são modelados como objetos que são associados e interagem entre si.
Paradigma OO x Estruturado
Desvantagens do Paradigma Estruturado
� O gap semântico é maior;
� Frequentemente gera sistemas difíceis de serem mantidos:◦ As funções tem que conhecer a estrutura dos ◦ As funções tem que conhecer a estrutura dos dados;
◦ Mudanças na estrutura dos dados acarreta alteração em todas as funções relacionadas.
Benefícios esperados pela OO
� Capacidade de enfrentar novos domínios;� Melhoria da interação analistas x especialistas;� Aumento da consistência interna da análise;� Uso de uma representação básica consistente para análise e projeto;para análise e projeto;
� Alterabilidade, legibilidade e extensibilidade;� Possibilidade de ciclos de vida variados;� Apoio à reutilização.
Filosofia
� O mundo é composto por objetos;
� OO tenta gerenciar a complexidade dos problemas do mundo real abstraindo o conhecimento relevante e encapsulando-o em objetos.
Programação Orientada a Objetos
� POO é o paradigma de programação dominante nos dias de hoje, apesar de ter mais de 30 anos!!! (Simula ’67 e SmallTalk’72);
Demorou muito tempo pra ser adotada, mas � Demorou muito tempo pra ser adotada, mas hoje em dia é o paradigma principal;
� Anos 70 e 80: Programação estruturada. – Enfatiza o uso de procedimentos que modificam o estado do programa.
Programação Orientada a Objetos
� POO é um paradigma de programação de computadores onde se usam classes e objetos, para representar e processar os dados em um programa de computador;
� Geralmente em um programa orientado a objetos (por exemplo em Java) temos várias definições de classes e um aplicativo (a classe que contém o main em Java), que cria os objetos partindo das classes e usa as operações desses objetos.
ObjetosObjetos
Objetos
� Pode ser descrito por um conjunto de atributos e seu comportamento (operações). Podem ser coisas abstratas (ex.: uma reserva de passagem aérea) ou concretas (ex.: um documento). Ex:Ex:
Objetos
� Atributos: são as características deste objeto, por exemplo, CARRO.
CorCor
Marca
Velocidade
Objetos
� Comportamento: são os métodos que o objeto pode executar, por exemplo, CARRO.
Acelerar
Freiar
Parar
Objetos
� Estado – definido pelo valor de seus atributos;
� Comportamento – são os métodos;
� Identidade – são as referências.� Identidade – são as referências.
Grupo de Objetos
� Com os mesmos atributos e mesmo comportamento pertencem a mesma classe.
Exemplo:Exemplo:
CARRO
COR
MARCA
VELOCIDADE
ACELERAR
FREIAR
PARAR
Nome da CLASSE
Atributos
Métodos
Grupo de Objetos
CARRO 1
COR: azul
MARCA: gol
VELOCIDADE: 60
ACELERAR
CARRO 1
COR: azul
MARCA: gol
VELOCIDADE: 60
ACELERAR
CARRO 1
COR: “azul”
MARCA: “gol”
VELOCIDADE: 60
ACELERAR
CARRO 2
COR: “branca”
MARCA: “vectra”
VELOCIDADE: 70
ACELERAR
CARRO 3
COR: “verde”
MARCA: “fiesta”
VELOCIDADE: 50
ACELERAR
FREIAR
PARAR
ACELERAR
FREIAR
PARAR
ACELERAR
FREIAR
PARAR
ACELERAR
FREIAR
PARAR
3 Objetos da Classe CARRO
ClassesClasses
Classe
� É um modelo que define os atributos e métodos comuns a um conjunto de objetos.
� Um objeto é uma instância de uma � Um objeto é uma instância de uma CLASSE.
Exemplo: O objeto CARRO 1 é uma instância da classe carro.
Classes na Linguagem Java
� Possui inúmeras classes distribuídas em vários pacotes.
� PACOTES – é uma espécie de recipiente � PACOTES – é uma espécie de recipiente para classes que estão logicamente relacionadas.
API – (Application Programming Interface)Link: http://download.oracle.com/javase/1.4.2/docs/api