Upload
graciolina-rosa
View
10
Download
1
Embed Size (px)
DESCRIPTION
iniciação a programação
Citation preview
Programao OOUtilizandoProfessor: Laurentino Augusto Dantas E-mail: [email protected]
Programao Orientada a ObjetosProf: Augusto Dantas
Bibliografia BsicaDEITEL, H. M.; DEITEL, P. J. Java como Programar 3a edio. Porto Alegre : Bookman, 2001.FURGERI, Sergio. Java 2: ensino didtico: desenvolvendo e implementando aplicaes. So Paulo: rica, 2002.
Programao Orientada a ObjetosProf: Augusto Dantas
AvaliaesProvas (Peso 6.0)Trabalhos (Peso 4.0)
Programao Orientada a ObjetosProf: Augusto Dantas
ObjetivosApresentar a teoria envolvida no paradigma da Orientao a Objetos.Expor conceitos, metodologias e ferramentas indispensveis ao sucesso de um projeto orientado a objetos.Apresentar como essas tcnicas e conceitos so implementados na linguagem Java.
Programao Orientada a ObjetosProf: Augusto Dantas
ContedoHistrico e cenrio atual da POO;Programao estruturada e POO; Paradigma de programao orientada a objetos; Classes, Objetos; Polimorfismo; Sobrecarga de Mtodos; Herana; Encapsulamento; Interface grfica; Persisitncia de dados;Linguagem Java
Programao Orientada a ObjetosProf: Augusto Dantas
Criar os seguintes ProgramasCriar um Programa que leia 3 nmeros e informe o maior.Criar um programa que leia uma seqncia de 100 nmeros e informe o maior, o menor e a mdia dos nmeros lidos.Criar um programa que leia 100 nmeros, e imprima todos os nmeros lidos que so maiores que a mdia dos nmeros lidos.
Programao Orientada a ObjetosProf: Augusto Dantas
Sun MicrosystemsLinguagem Orientada a ObjetosCompilada e Interpretada
Introduo
Iniciando em JAVA
Programao Orientada a ObjetosProf: Augusto Dantas
CaractersticasLinguagem JAVA
Simples e familiarOrientada a ObjetosCompilada e InterpretadaPronta para RedesDinmicoMulti threadIndependente de PlataformaColetor de Lixo Garbage ColectorSegura
Programao Orientada a ObjetosProf: Augusto Dantas
IntroduoLinguagem JAVAApplets x Aplicativos
Aplicativos: Necessitam Interpretador na mquinaApplets: Interpretador est no BrowserJDK (Kit de desenvolvimento Java)
Compilador, Interpretador e utilitriosjavac.java (Compilao)java (Execuo)appletviewer .htmljar (Compactador)javadoc (Gerao de documentao)
Programao Orientada a ObjetosProf: Augusto Dantas
Esquema de Utilizao do JDK - AplicativosCdigo fonte JavaTeste.java
Compilador javac Teste.javaBytecodesTeste.class
Interpretador java TesteLinguagem JAVA
Programao Orientada a ObjetosProf: Augusto Dantas
Linguagem JAVA
Compilador javac AppletTeste.java
Browser com Interpretador embutidoAppletTeste.html Cdigo binrioAppletTeste.classCdigo fonte JavaAppletTeste.javaCriao da pgina HTML para o AppletAppletTeste.htmlEsquema de Utilizao do JDK - Applets
Programao Orientada a ObjetosProf: Augusto Dantas
Linguagem JAVADesenvolvimento de aplicaes sempre feito atravs de classes.
class NomedaClasse{// Atributos// Mtodospublic static void main( String args[] ){//corpo principal do programa}}Estrutura das Aplicaes Java
Programao Orientada a ObjetosProf: Augusto Dantas
Linguagem JAVAclass helloWorld { public static void main(String args[]) { System.out.println(" Hello World"); }}
Exemplo helloWorld.javaElementos da Aplicao
Primeira Aplicao
Programao Orientada a ObjetosProf: Augusto Dantas
Linguagem JAVASeparados por espao em brancoVetor de strings do mtodo main.Acesso feito indicando-se a posio no array,
import java.lang.*;class App1{public static void main( String argv[] ){System.out.println(argv[0] + " " + argv[1] + " " + argv[2] );System.out.println( "Tamanho do terceiro parametro: " + argv[2].length() + " Nmero de parametros: " + argv.length);}}Passagem de Parmetros da Linha de Comando
Programao Orientada a ObjetosProf: Augusto Dantas
AtividadeLer o captulo 1 do Livro do Furgeri e fazer os exerccios.Ler o Captulo 1 do Deitel e Fazer os exerccios.Equipe de no mximo 4 pessoas.
Programao Orientada a ObjetosProf: Augusto Dantas
O que Orientao a Objetos?
Tcnica de modelagem de software que procura construir sistemas complexos a partir de componentes.Khoshafian, S. e Abnous, R.Objetos so coisas que podem ser manipuladas.Martin, R.C.
Programao Orientada a ObjetosProf: Augusto Dantas
O Modelo de ObjetosAbstrao
Encapsulamento
Modularidade
Hierarquia
Programao Orientada a ObjetosProf: Augusto Dantas
Abstrao
Eliminao do irrelevante e amplificao do essencial
Programao Orientada a ObjetosProf: Augusto Dantas
Abstrao
A abstrao denota as caractersticas essenciais de um objeto que o distingue de outros objetos e oferece uma fronteira conceitual claramente definida, sempre a partir da viso do observadorUma abstrao deve ser entendida e analisada independentemente do mecanismo que a implementa
Programao Orientada a ObjetosProf: Augusto Dantas
Encapsulamento
Nenhuma parte de um sistema complexo deve depender de detalhes internos de qualquer outra parte
Programao Orientada a ObjetosProf: Augusto Dantas
Encapsulamento o processo de compartimentalizao dos elementos de uma abstraoEncapsulamento serve para separar a interface contratual de uma abstrao de sua implementao
Programao Orientada a ObjetosProf: Augusto Dantas
Modularidade
Propriedade de um sistema estar decomposto em partes coesas e fracamente acopladas
Programao Orientada a ObjetosProf: Augusto Dantas
Modularidade
A atividade de particionar um programa em componentes individuais pode reduzir sua complexidadeMdulos so dependentes uns dos outros, o que leva a uma relao de acoplamento
Programao Orientada a ObjetosProf: Augusto Dantas
ratos debrinquedomotores abase de molapartesdiversastomos
HierarquiaClassificao e ordenao de abstraes
Programao Orientada a ObjetosProf: Augusto Dantas
Hierarquia
Promove a classificao e organizao das abstraesFormas de organizao:
Herana (simples ou mltipla)Agregao
Programao Orientada a ObjetosProf: Augusto Dantas
Como atingir Orientao a Objetos?Cumprindo os princpios fundamentais do modelo de objetos:
AbstraoEncapsulamentoModularidadeHierarquia
Programao Orientada a ObjetosProf: Augusto Dantas
Relacionamentos entre Classes
AgregaoHeranaAssociaoUsoInstanciao
Programao Orientada a ObjetosProf: Augusto Dantas
Agregao/decomposio
Sob certo sentido, um objeto pode ser visto como um agregado de outros objetos (suas partes).
Programao Orientada a ObjetosProf: Augusto Dantas
Especializao/Generalizao (Herana)dependendo do contexto (domnio de aplicao) em que se est imerso, um mesma classe pode ser especializada de diferentes formas
Programao Orientada a ObjetosProf: Augusto Dantas
Classes X ObjetosClasses : agrupam os objetos com base em algum conjunto de propriedades comum a todos estes objetosObjeto: contm atributos e comportamentos que o caracterizam para o domnio de um problemaAtributos: descrevem as caractersticas ou propriedades dos objetosMtodos: manipulao dos atributos ocorre atravs dos procedimentos
Programao Orientada a ObjetosProf: Augusto Dantas
Conceito de Objeto
raaidadeLATIRDEITARmtodospropriedadesABAIXAR
Programao Orientada a ObjetosProf: Augusto Dantas
Classe: PESSOAAtributos :cor_de_olho, cor_de_cabelo, idadeMtodos : faz_aniversario, muda_cor_de_cabelo.Instanciando esta classe PESSOA, obtemos o objeto:
maria = new PESSOA ( );joao = new PESSOA ( );ExemploOrientao a Objetos
Programao Orientada a ObjetosProf: Augusto Dantas
Cada objeto tem suas caractersticas: maria.cor_de_olho = castanho;maria.cor_de_cabelo = castanho;maria.idade = 24;joao possui outros valores para seus atributos.
joao.cor_de_olho = castanho claro;joao.cor_de_cabelo = preto;joao.idade = 26;ExemploOrientao a Objetos
Programao Orientada a ObjetosProf: Augusto Dantas
Mtodos so utilizados para alterar os valores dos atributos:
maria.faz_aniversario ( );O mtodo faz_aniversario implementa uma rotina onde ir somar mais um no atributo idade de maria:
faz_aniversario( ) {maria.idade = maria.idade+1;}MtodosOrientao a Objetos
Programao Orientada a ObjetosProf: Augusto Dantas
AtividadePesquisar sobre Orientao a Objetos:
Histrico;Caractersticas;Comparativo entre programao estruturada e OO.Equipe de no mximo 4 pessoas.
Programao Orientada a ObjetosProf: Augusto Dantas
Comentrios
// textoTodos os caracteres de // para o final da linha so ignorados./* texto */Todos os caracteres de /* para */ so ignorados./** texto * @ consulte java.appplet.Applet*/Identificadores
Devem comear com uma letra, sublinhado (_) ou sinal de sifro ($).Java sensvel a maisculas e minsculas.Programando em Java
Programao Orientada a ObjetosProf: Augusto Dantas
Inteiros
Inteiros podem ser expressados no formato: decimal (base 10), hexadecimal (base 16), ou octal (base8).2, 2L07770xDeadBeef
Ponto Flutuante
Representam valores decimais com um componente fracionrio. Podem ser expressos na notao padro ou cientfica.3.14153.1E12.1e122E12
2.0d or 2.0Ddouble2.0f or 2.0F or 2.0floatBooleanos
So expressados por true e false, sendo que estes no podem ser convertidos em nenhuma representao numrica.
Tipos de Dados
Programao Orientada a ObjetosProf: Augusto Dantas
Caracteres
Os caracteres em Java so ndices do conjunto de caracteres Unicode que so valores de 16 bits que podem ser convertidos em inteiros e manipulados com operadores inteiros. Um caracter inteiro representado dentro de um par de apstrofos ( ). Para os caracteres que no podem ser inseridos diretamente a tabela abaixo mostra algumas seqncias de escape de caracteres.\dddCaracter octal (ddd)\uxxxxCaracter UNICODE hexadecimal (xxxx)\Apstrofo\Aspas\ \Barra Invertida\rRetorno de carro\nNova linha (linefeed)\fForm feed\tTab\bBackspace
Tipos de Dados
Programao Orientada a ObjetosProf: Augusto Dantas
Tipos de DadoTipos SimplesLarguraFaixabyte8-128 a 127short16-32768 a 32767int32-2.147.483.648 a 2.147.483.647long64-9.223.372.036.854.775.808...9.223.372.036.854.775.807float323,4e - 308..1,7e + 308double641,7e - 038..3,4e + 038char160 a 65536booleantrue ou false
Programao Orientada a ObjetosProf: Augusto Dantas
Converso de Tiposfloat y = (float)x; // int x = 10;double y = (double)x; // int x = 10;int y= (int)x; // float x = 10.5;float y = Float.parseFloat(x); // String x = 10;double y = Double.parseDouble(x) // String x = 10int y = Integer.parseInt(x); // String x = 10;byte b[] = x.getBytes(); // String x = java;String y = String.valueOf(x) // int x = 100;String y = new String(x) // byte x[];
Programao Orientada a ObjetosProf: Augusto Dantas
OperadoresOperadores AritmticosOperadorAo+Adio-Subtrao e menos unrio*Multiplicao/Diviso%Mdulo (resto da diviso)++Incremento+=Atribuio Aditiva-=Atribuio Subtrativa*=Atribuio de Multiplicao/=Atribuio de Diviso%=Atribuio deMdulo(resto de diviso)--DecrementoOperadores RelacionaisOperadorAo==Igual a!=Diferente>Maior do que=Maior ou igual a >Deslocamento direita (shift right)>>>Com zeros>=Atribuio de deslocamento direita>>>=Atribuio de deslocamento direita com preenchimento 0); } } Repetio (for)
Comando compacto de repetio. Forma geral:
for (inicializao; encerramento; iterao ) corpo;
class for{ public static void main(String args[ ]) { for (int i = 1; i