Sunteți pe pagina 1din 49

Capacitao tcnica

e pedaggica para
professores de
informtica

Analise e desenvolvimento de
aplicaes orientadas a objeto com
Java SE

Objetivo

Capacitar os docentes do Centro Paula Souza a


ministrarem as disciplinas de DSI e DSII
Contedo:
Desenvolvimento de softwares orientado a
objetos
Linguagem de apoio: Java SE 6
IDE: Eclipse 3.2
Sistema operacional: Microsoft Windows

Orientao a Objetos

uma tcnica de desenvolvimento de softwares


que consiste em representar os elementos do
mundo real (que pertencem ao escopo da
aplicao) dentro do software.

Em tese, uma forma mais natural de


informatizao, j que leva em considerao os
elementos como eles realmente existem.

Conceitos da orientao a
objetos

Entenda conceitos como uma srie de regras e


convenes que padronizam as aplicaes
orientadas a objetos e que possibilitam o uso de
todos os recursos inerentes a essa tcnica.
Vale ressaltar que a orientao a objetos no
exclusividade da linguagem Java. Outras
linguagem .NET (C#, VB.NET), PHP 5, entre
outras, fazem uso de tais recursos.

Abstrao

Abstrao a habilidade de concentrar nos aspectos


essenciais de um contexto qualquer, ignorando
caractersticas menos importantes ou acidentais.

Habilidade mental que permite aos seres humanos


visualizarem os problemas do mundo real com vrios
graus de detalhe, dependendo do contexto corrente
do problema.

Transcrever conceitos reais a um prisma terico.

Elementos bsicos da
programao orientada a
objetos

Classe
Na

verdade, na linguagem Java, tudo esta definido


em classes.
A estrutura da prpria linguagem organizada em
classes.
Porm, inicialmente vamos nos ater as duas
representaes bsicas de classes em orientao a
objetos:
A classe de modelagem (ou definio de tipo).
A classe que contm a inicializao da aplicao.

Elementos bsicos da
programao orientada a
objetos

Classe de modelagem

Em modelagem orientada a objetos, uma


classe uma abstrao de entidades
existentes no domnio do sistema de software.
A classe de modelagem pode ser entendida
como um molde, uma forma, um modelo que
define as caractersticas e as funcionalidades
dos futuros objetos que sero criados a partir
dela.

Elementos bsicos da
programao orientada a
objetos

Objeto
Em

modelagem orientada a objetos, um


objeto uma instncia de uma classe
existente no sistema de software.
Um objeto representa uma entidade do
mundo real dentro da aplicao de forma
individual, possuindo todas as informaes
e funcionalidades abstradas na concepo
da classe.

Elementos bsicos da
programao orientada a
objetos

Classe de modelagem e Objetos


Um

objeto criado (instanciado) a partir


de uma classe e, portanto, possui todos
os elementos definidos na classe.
possvel criar quantos objetos forem
necessrios a partir de uma classe e
todos tero as mesmas caractersticas e
funcionalidades.

Analogias de Classe X Objeto

Estrutura bsica e uma classe de


modelagem

Atributos ou variveis de instncia


So

as informaes, os dados, que sero


armazenados nos objetos.

Mtodos
So

as aes, as regras , as
funcionalidades que sero executadas
pelos objetos.

Estrutura bsica e uma classe de


modelagem

Recapitulando
Classe de modelagem (definio de tipo)
Atributos (dados)
Mtodos (aes)
Objetos (instncias)

UML

A partir do momento em que os elementos


bsicos da orientao a objetos so assimilados,
podemos modelar classes nas especificaes
corretas utilizando a principal ferramenta de
modelagem e documentao de aplicaes
orientadas a objeto existente no mercado:

A UML (Unified Modeling Language ou Linguagem


unificada de modelagem).

UML

A UML no uma metodologia de desenvolvimento, o


que significa que ela no diz para voc o que fazer
primeiro e em seguida ou como projetar seu sistema,
mas ela lhe auxilia a visualizar seu desenho e a
comunicao entre objetos.
Permite que desenvolvedores visualizem os produtos de
seu trabalho em diagramas padronizados.
Os objetivos da UML so: especificao, documentao,
e estruturao para sub-visualizao e maior
visualizao lgica de um total desenvolvimento de um
sistema de informao.

Classe de modelagem: Usuario

Abstrao e modelagem da classe de usurio de uma


aplicao.
Informaes armazenadas em cada usurio
(objeto).
nome
email
login
senha
Aes exercidas pelos (objetos do tipo) usurios na
aplicao.
provar existncia.

Classe de modelagem: Usuario

Nome da classe
Usuario
Atributos
nome, email, login e senha
Mtodos
provarExistencia

Classe de modelagem: Usuario

Em UML:

Classe de modelagem: Usuario

Tipos de dados em Java


Tipos primitivos
Tipos por referncia

Classe de modelagem: Usuario

Tipos primitivos numricos

byte:
short:
int: Formado por 32 bits, suporta valores entre -2.147.483.648
e 2.147.483.648;
long: Formado por 64 bits, usado quando voc realmente
precisa guardar valores muito altos;
float: Formado por 32 bits, usado para guardar valores em
ponto flutuante que possuam at 7 casas decimais;
double: Formado por 64 bits, utilizado quando se deseja
armazenar valores em ponto flutuante com at 15 casas
decimais. Um valor em ponto flutuante no Java , por default,
um valor double;

Classe de modelagem: Usuario

Tipos primitivos no numricos


boolean: Possui apenas os valores lgicos true (verdadeiro) e
false (falso);
char: Formado por 16 bits, armazena caracteres Unicode
(alm da tabela ASCII, possibilita o uso de caracteres que
possam ser utilizados em qualquer idioma do mundo).

Classe de modelagem: Usuario

Tipos por referncia


So ditos por referncia, pois, ao invs de se trabalhar
com um valor em varivel de memria, trabalha-se com
a referncia de um OBJETO criado, que fica armazenado
em memria.
Em distintos momentos do nosso curso, abordaremos
novamente este tpico.

Classe de modelagem: Usuario

Modificadores de acesso
private

S fica visvel dentro da classe em que foi


implementado

public

Fica visvel em toda a aplicao

protected

Fica visvel na classe em que foi


implementado e em suas sub-classe (veremos
em breve).

Atributos

Construtores

Getters e
Setters

Codificao da classe
Usuario

Encapsulamento

Consiste na proteo dos atributos de uma


classe (e posteriormente dos objetos) de
acessos externos.
Considerando que todas as regras
referentes a classe esto contidas na
prpria classe (e nunca em outra parte da
aplicao), o acesso aos atributos devero
ser feitos de modo a garantir que tais regras
sejam cumpridas.

Encapsulamento

Mtodos getters e setters.


Cada atributo tem seus prprios mtodos
pblicos getter e setter.
Getter: L o contedo de um atributo e
retorna seu valor.
Setter: Recebe um valor por parmetro
e altera (escreve) tal valor no referente
atributo.

Classe: Principal

Neste exemplo, a classe principal ser


usada somente para conter o mtodo
main

Como instanciar um objeto

Tipo

Comando

Nome do novo
objeto

Construt
or

Como realizar uma chamada a


mtodo

Nome do novo
objeto

Mtodo

Codificao
Codificao da
da classe
classe
Usuario
Usuario

Codificao
Codificao da
da classe
classe
Principal
Principal

Ge
tte
rs
Re
ap sta
lic nt
a e d
o a

nom
e
ema
il
logi
n
senh
a

provarExisten
cia

Recebe e
escreve
contedos
nos atributos

Re
ap sta
lic nt
a e d
o a

Re
ap sta
lic nt
a e d
o a

Objeto
usuario1
r
tte
Se s

L e retorna
o contedo
dos atributos

Re
ap sta
lic nt
a e d
o a

Estrutura bsica de um projeto Java


no eclipse

Workspace (espao em disco onde sero salvos os arquivos


dos projetos)
Projeto (Estrutura de pastas e arquivos que compem a
aplicao)
Classe de modelagem (Definio de tipo)
Atributo
Contrutores
Getters e setters
Mtodos especificos da classe
Classe Principal
Mtodo main()

Desenvolvimento da aplicao
PrimeiroPrograma

Passo a passo para a criao da aplicao


exemplo utilizando o Eclipse.
Definio do workspace
Antes

mesmo de comear devemos definir


nossa rea de trabalho onde o Eclipse salvar
os arquivos gerados.
Crie uma pasta com qualquer nome e em
qualquer unidade de disco e considere-a como
sua workspace.

Definio da workspace

Aps a confirmao o Eclipse


reiniciar automaticamente
j com a workspace alterada

Criao de um novo projeto

Visualizao do projeto
PrimeiroPrograma na guia Package
Explorer

Criao de uma classe

Visualizao da classe
Usuario no projeto
PrimeiroPrograma

Criao da estrutura da classe de


modelagem
Declarao dos
atributos

Inicializando os atributos
atravs de passagem de
parmetros
Inicializando os atributos
vazios

Gerao de
construtores

Criao da estrutura da classe de


modelagem
Generate Constructor from
Superclass

Generate Constructor using


Fields

Criao da estrutura da classe de


modelagem
Construtores
gerados

Acrescenta
r

Criao da estrutura da classe de


modelagem
Gerao de getters e
setters

Criao da estrutura da classe de


modelagem
getters e setters gerados

Implementar o mtodo
provarExistencia

Criao da classe Principal

Insere a assinatura do
mtodo main
automaticamente

Criao da classe Principal


O objeto usuario1 possui
todos os mtodos definidos
na classe Usuario e mais
alguns pr-definidos por
default

Executar um programa em java

Clicar com o boto direito


do mouse sobre a classe
que contm o mtodo main

Executar um programa em java

O painel console simula um prompt em


ambiente texto

Enfim, a emocionante manifestao de vida do


objeto usuario1

Incrementando nossa aplicao


Inserindo o contedo do atributo um nome a
mensagem
Classe Usuario: Alterar o mtodo
provarExistencia

Incrementando nossa aplicao


Inicializar o o atributo nome do objeto usuario1 atravs
do construtor

Construtor na classe
Usuario

Executando novamente a aplicao


aplicao

Recapitulando nosso
HelloWorld orientado a objeto

Em uma aplicao orientada a objetos quem


manipula dados e aes so os objetos.
Atravs de analise e abstrao definimos as
entidades a serem representadas na
aplicao e criamos uma classe (um tipo)
com todos os dados e aes especificados
(classe de modelagem).
Definido o tipo, criamos (instanciamos)
objetos a partir dos tipos pr-existentes (por
enquanto, sempre no mtodo main).

Recapitulando nosso
HelloWorld orientado a objeto

Criado o objeto, basta manipul-lo.


Uma classe de modelagem da origem a
quantos objetos forem necessrios na
aplicao.
Qualquer alterao e/ou insero nos
atributos ou mtodos so realizados na
classe de modelagem e automaticamente
todos os objetos instanciados a partir
dessa classe sero atualizados
automaticamente.

S-ar putea să vă placă și