Upload
stephenson-galvao
View
216
Download
1
Embed Size (px)
Citation preview
Programao Orientada a Objeto
Stephenson Galvo
stepgalvao[arroba]gmail[ponto]com
Roteiro
Paradigmas de programao Modelos Abstrao Programao OO Objetos, classe, atributos e operaes Classes em java
Paradigmas de programao
Paradigma um conjunto de regras que estabelecem fronteiras e descrevem como
resolver os problemas dentro destas fronteiras.
Forma de desenvolvimento de uma soluo de software.
Paradigmas de programao
Alguns paradigmas Imperativo. Estrutural. Funcional. Orientado a Objetos.
Paradigmas de programao
Paradigma imperativo Basea-se na arquitetura
de Von Neumann. Mais antigo. Comando goto. Caractersticas centrais
Variveis. Atribuies. Sequncias.
Linguagens C, Modula-2, Pascal.
var fat: integer;begin
fat := 1;while (n>1) do
beginfat := fat * n;n := n 1;
end;fatorial := fat;
end;
Paradigmas de programao
Paradigma Estruturado Subconjuto do Imperativo. Mais utilizado. Resume-se em 3 estruturas:
Sequncia, Deciso e Interao. Programao modular.
Subrotinas e funes. Linguagens
C; Pascal; Cobol
function fatorial (n: integer):integer;var fat: integer;begin
fat := 1;while (n>1) do
beginfat := fat * n;n := n 1;
end;fatorial := fat;
end;
Paradigmas de programao
Paradigma Funcional Programas como funes
matemticas. Fatorial
X=0, 1 X>0, X*fatorial(x-1).
No possuem alteraes de valores
As funes sempre devem possuir retorno.
Linguagens Hask, LISP, Ocamel, Lambda.
fatorial 0 = 1fatorial n = n * fatorial (n - 1)
Paradigmas de programao
Paradigma Orientado a Objetos. Objetivo da disciplina. Baseada em obejtos
Estados. Aes e Mensagens.
Linguagens de programao: Java, C++, C#,
Python, Smalltalk
public Fatorial{int fat;
public Fatorial(int fat){this.fat=fat;
}
public int calcular(){If (fat = 0) {
return 1;}else
fat--;calcular();
}}
}
Programa{Fatorial fat = new Fatorial(3)fat.calcular();
}
Paradigma Orientado a Objeto
Comunidade de agentes (objetos) que interagem entre si, denominados objetos.
Cada objeto tem um papel a cumprir. Cada objeto oferece um servio ou realiza uma ao
que usada por outros objetos.Modelo CirculoInicio modelo
variavel raio:Real
funcao calcularArea(); Inicio funcao
variavel area:Realarea = raio*raio*3,14;imprime(area);
Fim funcaoFim modelo
Programa AreaCirculo
variavel circulo: Circulo
Inicio programa
circulo= novo objeto Circulo;circulo.raio=10;circulo.calcularArea();
Fim programa
Paradigma Orientado a Objeto
Sistemas orientado a objeto (exemplos) Viso mais realista.
Paradigma Orientado a Objeto
ObjetoUm objeto uma entidade do sistema que tem caractersticas e comportamentos prprios. Podem representar entidades concretas ou abstratas.
Exemplos:
Paradigma Orientado a Objeto
Paradigma Orientado a Objeto
Professor Aluno Zelador Diretor Guarda
Modelos
Representaes simplificadas de objetos Possuem informaes (atributos) e
comportamentos (operaes) associados a ele.
HardDisk
capacidadevelocidade
gravarDados()lerDados()
Nome
Operaes
Atributos
Modelos
ModelosAluno
nomematriculafrequencianotas
adicionarPresenca(dia,situacao)adicionarNota(nota)calcularMedia()
ModelosAluno
nomematriculafrequencianotas
adicionarPresenca(dia,situacao)adicionarNota(nota)calcularMedia()
Aluno
nomematriculaalturaIdadedisciplinasCursadas
matricularDisciplina(disciplina)cursarDisciplina(disciplina)
Qual o modelo correto?
Abstrao
Abstrao consiste de focalizar nos aspectos essenciais para o sistema inerentes a uma entidade.
Modelar o objeto Professor na viso CCA e viso o RH
Modelos
Conta Bancria
Modelos
Conta Bancria
Conta
saldo
deposito(valor)saque(valor)
Modelos
Conta Bancriamodelo Containicio do modelo
dado saldo;
operacao deposito(valor)inicio
saldo= saldo+valor;fim
operacao saque(valor)inicio
saldo=saldo-valor;fim
fim do modelo
Modelos
Modelo Lampada
Modelo
Modelo
Modelo
Notao Distribuio vertical. Indentao horizontal (hierarquia). Comentrio = //. Cada comando termina com ;. Comparao (==), atribuio (=). Nome do Modelo
Inicial de cada palavra maiuscula. No utilizar assentuao nem espao.
Nome de dados e Operaes: 1 palavra inicial minuscula demais inicial maiuscula. No utilizar assentuao nem espao.
Modelo
Programao Orientado a Objeto
Programao atravs do paradigma orientado a objeto.
Utilizam-se de classes e objetos/instncias, criados a partir de modelos.
Diferena de modelos p/ classes e objetos so as limitaes do computador.
Os dados podem ser representados por modelos nativos da linguagem ou criados pelo programador.
Programao Orientado a Objeto
Conceitos importantes Classes, Objetos, Instncias, Referncia e Mtodos.
Observao: O conceito de objeto ensinado no incio da aula ser dividido em dois novos conceitos, classe e objeto/instncia.
Programao Orientado a Objeto
Classe Estrutura da orientao a
objetos para representar os modelos.
Programao Orientado a Objeto
Instncias Materializao da
classe.
Programao Orientado a Objeto
Colocar valores para os dados do modelo
Conta
saldo
deposito(valor)saque(valor)
Conta do Tiago
saldo = 1000000000
deposito(valor)saque(valor)
Classe Objeto ou Instncia
Programao Orientado a Objeto
Referncia Forma de acessar um objeto/instncia.
Referncia Stephenson
Programao Orientado a Objeto
Reza do final da aula. Respondam Classe ou Instncia.
Programao Orientado a Objeto
Pessoa? Joo? Escola? IFPI? Fusca? Carro? Porta? Quadro?
Professor? Diretor? Darley? Stephenson? Perfil?
Prxima Aula
Criando Classes em Java
Criando classes em java
Criando classes em java
Palavra chave class seguida do nome da classe.
Criando classes em java
Palavra chave class seguida do nome da classe.
Contedo da classe limitado por chaves {}.
Criando classes em java
Palavra chave class seguida do nome da classe.
Contedo da classe limitado por chaves {}.
Possuem campos e mtodos.
Por conveno o nome do arquivo deve ser o mesmo nome da classe
Conta.java
Criando classes em java
Observaes Nome de classes no devem conter espaos e devem ser
iniciados por letras ( _ e $ so letras).
Aluno, _Aluno, $Aluno, 1Aluno. Caracteres maisculos e minsculos so diferentes.
Aluno, aluno, class, Class. Nomes de classes no podem ser iguais as palavras
reservadas.
class Por conveno nome de classes comea com o caractere
maisculo e alternam entre palavras
ContaBancaria, AlunoIFPI, CadastroBolsista.
Criando classes em java(campos)
Campos de classe so declarados dentro do corpo da classe.
Podem ser dados nativos ou objetos criados pelo programador.
tipo-ou-classe nome-campo Por conveno os campos.
iniciam com o primeiro caractere minsculo.
Criando classes em java(campos)
Tabela de tipos bsicosTipos Valores
boolean false ou true
char 0 a 65535
byte -128 a 127
short -32768 a 32767
int - 2.147.483.648 a 2.147.483.647
long -9223372036854775808 e 9223372036854775807
float 1.40129846432481707 e -45 e 3.40282346638528860 e +38
double 4.94065645841246544 e -324 e 1.79769313486231570 e +308
Criando classes em java(mtodos)
Mtodos refletem a ao efetuada nos campos da classes ou argumentos passados
Tipo-retorno nome-metodo(lista-de-argumentos)
Retorno pode ser void.
Dvidas
?
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44