Introdução à Orientação a Objetos Prof. Ricardo Linden

Slides:



Advertisements
Apresentações semelhantes
While While Condição // comandos End While. Exemplos While Var contador As Integer contador = 0 While (contador < 10) contador += 1 console.ConsoleWrite(contador)
Advertisements

2008 LCG/UFRJ. All rights reserved. 1 Standard Template Library STL Claudio Esperança Paulo Roma Cavalcanti.
1 Estruturas de Controle Márcia J. N. Rodrigues Lucena Especialização em Técnicas e Ferramentas de Apoio à Decisão Departamento.
Técnicas e Projeto de Sistemas André Mesquita Rincon Processo de Software Técnico Subsequente – Módulo III.
SISTEMA BINÁRIO Hardware de Computadores. SISTEMA BINÁRIO Hardware de Computadores.
PROGRESSÃO ARITMÉTICA P.A.
Técnicas e Projeto de Sistemas
Prof. Celso Gramática.
Grupo Paralelismo – Unesp RC
FORTRAN 90 Denise Yumi Takamura.
INTRODUÇÃO À COMPUTAÇÃO PARALELA
SQL Procedural Junho/2006.
Atividade de Hoje: Fazer uma Reportagem ou Jornalzinho Equipes de 4 pessoas: 3 alunos e um monitor A atividade será dividida em 2 partes: –PARTE 1 : Preparação.
Sistemas Operacionais
Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Treinamento no GRADEp Serviço Collector CollectorDemo e.
Classes Internas e Anônimas
Servidores e Programação Web Redes de Computadores.
Profa. Graziela Santos de Araújo Algoritmos e Programação II, 2010
Geração de Código Otimizações independentes de máquina.
Geração de Código Cap. 8. Introdução Fase final para um compilador Entrada é uma representação intermediária do código fonte e a saída é um programa para.
Fazendo Slides no Power Point
O Fluxo de Testes © Alexandre Vasconcelos
Templates e Questões de Design Programas são geralmente construídos segundo um design que é relativamente bem mapeado nos mecanismos oferecidos pela linguagem.
Planejando seu site Objetivos Abordagem Sílvia Dota.
Metodologias de Construção de Sites
Página de entrada A página de entrada, ou a index, representa um convite para o seu site.
Sistemas de Tutoria Inteligente (STI) Visam proporcionar instrução de forma adaptada a cada aprendiz. STIs adaptam o processo de instrução a determinadas.
CT-300 – Seminário de Tese 1/25 Um Framework Padrão para Simulação de Modelos de Robôs Móveis de Robôs Móveis Juliano A. Pereira Prof. Carlos H. C. Ribeiro.
CE-262 Ontologia e Web Semântica Prof. José M Parente de Oliveira
CES-11 LAB 03 Bitmap Quadtree
CES-41 COMPILADORES Capítulo IV Complementos de Análise Léxica.
Capítulo VII – Tipos Enumerativos e Estruturas 7.1 – Tipos enumerativos 7.2 – A necessidade de estruturas 7.3 – Manipulação dos campos de uma estrutura.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo III Comandos de Controle.
1.3 – Interpretadores – Compiladores versus Interpretadores
CES-41 COMPILADORES Aulas Práticas
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo VII Variáveis Indexadas Numéricas.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo XI Encadeamento de Estruturas por Ponteiros.
Capítulo IX – Ponteiros 9.1 – Introdução 9.2 – Relação entre ponteiros e variáveis indexadas 9.3 – Alocação dinâmica de memória 9.4 – Variáveis indexadas,
CE-262 Ontologia e Web Semântica Prof. José M Parente de Oliveira Sala 120 – Prédio da Computação Lógica de Descrições.
Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.
Curso Técnico em Informática La Salle - Canoas
FUNDAÇÃO CARLOS CHAGAS
Business Process Management e Workflow - jBPM Aluno: Filipe Ferraz Salgado Orientador: Francisco Reverbel Novembro 2006.
Interpolação Introdução Conceito de Interpolação
Organização de Sistemas de Computadores
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
C/C++.
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Tecnologia para Web JavaScript Enrique Pimentel Leite de Oliveira
Recursividade Estrutura de Dados.
Marco Antonio Montebello Júnior
Introdução à Probabilidade
Elaine Harada Teixeira de Oliveira – DCC – ICE - UFAM
Orientação a Objetos Uma Introdução à Programação Orientada a Objetos
Entendendo as definições de classe
Frações Professor: Graciano Pianezzer Beletti.
Curso de Programação em C++
Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor:
Baseado no documento do Prof. Ronaldo Martins da Costa
LINGUAGENS DE PROGRAMAÇÃO
Baseado no documento do Prof. Ronaldo Martins da Costa
Sistemas Operacionais e Windows XP Aula 04 – DCA0302.
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I.
Programação Concorrente com Thread Java
Prof. André Laurindo Maitelli DCA-UFRN
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
1 Seja o resultado de um experimento aleatório. Suponha que uma forma de onda é associada a cada resultado.A coleção de tais formas de ondas formam um.
Java Generics Adeline de Sousa Silva.
Transcrição da apresentação:

Introdução à Orientação a Objetos Prof. Ricardo Linden Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 História das LPOO Simula 67: Encapsulamento em uma definição de “class” Smalltalk-80: Xerox PARC: Primeira linguagem verdadeiramente orientada a objeto (Alan Kay) C++: Primeira linguagem OO amplamente aceita (inicialmente era apenas um pré-processador) C++, Ada95, Modula-3, CLOS: acrescentaram orientação a objeto a estruturas pré-existentes Java: Modelo de objetos derivado do C++, simplificado e melhorado Programação Orientada a Objeto - Aula 1

Programação OO X Procedural A orientação a objeto muda o foco da programação dos algoritmos para as estruturas de dados: A organização lógica dos dados determina a organização do software O processo de design do software se concentra na organização dos dados e na definição das operação que a eles são aplicadas “Tipo de dados” agora está embutido no conceito de “classe” Mais perto da forma como pensamos no “mundo real” Programação Orientada a Objeto - Aula 1

Conceitos Básicos da Orientação a Objetos Para podermos começar a nossa aula, nós primeiro precisamos entender os seguintes conceitos básicos: Objeto Classe Instância Método Mensagem Sub-classe Herança Abstração Encapsulamento Polimorfismo Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Um pacote de software que contém uma coleção de procedimentos e dados relacionados. Um objeto representa um item, unidade ou entidade (real ou abstrata) individualmente separável com um papel bem definido no domínio do problema. Um objeto, como um substantivo, pode ser uma pessoa, local ou objeto  basicamente, qualquer conceito que seja aplicável ao projeto do sistema. Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Classe Um padrão que define os métodos e características que serão incluídos em um tipo particular de objeto. Uma classe é uma definição geral dos atributos e métodos de um conjunto de objetos. Exemplos: Cliente, Veículo, Conta Corrente, Documento, Reserva Cada uma destas classes representa uma série de características comuns: dados, como placa do veículo ações, como ligar o veículo Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Instância Outro nome para um objeto que pertença a uma classe particular. Quando uma aplicação está executando, objetos são instanciados de uma classe e tornam-se então instâncias desta classe. Exemplos - Ticket No. 00-123961 representa um objeto (instância) da classe “Reserva”. - “Meu Fusquinha” representa uma instância da classe “Veículo” Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Método Um procedimento/função dentro de um objeto. Métodos são ações que uma classe ou objeto faz e incluem a lógica da aplicação. Um método é similar a uma função/procedimento ou subrotina em termos de programação estruturada. Exemplos: - “Criar uma nova conta” é um método da classe “Conta” - “Registrar para uma Matéria” é um método para a classe “Estudante” Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Atributos vs. Métodos Atributos definem os dados enquanto os métodos definem a funcionalidade. Atributos são definidos por seus nomes e tipos (por exemplo, integer, string, date). Métodos são definidos escrevendo o código para isto (exceto no caso de métodos virtuais) Atributos e métodos são ambos encapsulados dentro dos seus objetos correspondentes Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Encapsulamento Uma técnica nos quais os dados estão encapsulados junto com seus procedimentos correspondentes Encapsulamento esconde tanto os métodos quanto os atributos do mundo exterior. Visibilidade: Public, Private, Protected, e Package-level. Private: Somente membros da classe podem acessar a propriedade/método Protected: Somente membros da classe e subclasses (classes descendentes) podem acessar a propriedade/método Public: Todas as classes podem acessar a propriedade/método Package Level : Todos as classes do mesmo package conseguem acessar a propriedade/método Vamos discutir mais detalhadamente mais à frente Programação Orientada a Objeto - Aula 1

Mensagem Um sinal que um objeto manda para outro que pede que o objeto que recebe o sinal execute um de seus métodos. Como resultado do encapsulamento, mandar mensagens se torna o mecanismo de comunicação entre objetos que interagem. Um formato geral de mensagem tem o seguinte formato: Object.método(parâmetros) Exemplo: invoice.calcularTotal ( ) Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Sub-Classe Uma classe que é um caso especial de outra classe. Sub-classe também é conhecida como classe filha, enquanto que a super-classe é também chamada de classe pai ou mãe. Sub-classes são especializações das super-classes e são criadas via herança Exemplo: Um pediata é um caso especial de médico Um carro é um caso especial de veículo. Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Herança Em OO existe um relacionamento “Is-a” entre classes Exemplo : aluno-4o.-período is-a aluno is-a pessoa Classes derivadas são chamadas de subclasses (mesmo que normalmente sejam maiores) Pode haver herança simples e múltiplia Classes base abstratas: Classes não têm instâncias reais (objetos) Subclasses têm que implementar alguns métodos Ex. : classe veículo_automotor com o método abstrato ligar. Não existem objetos desta classe, que é uma classe base abstrata. As classes carro e moto herdam as propriedades desta classe e implementam o método ligar. Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Hierarquia de Classes Classes podem ser organizadas em hierarquias de forma que classes mais específicas herdem métodos de classes mais abstratas Diagramas de hierarquia de classes Classe: Cadeira subclasses Cadeira de Escritório Cadeira de Balanço Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Abstração É o processo de capturar o comportamento essencial e características e colocá-las de uma forma conveniente para organizar a hierarquia de classes. Exemplo: Veículo (Sub-classes: Terrestre, Marinho e Aéreo) Classes abstratas nunca são instanciadas Decorrência da sua natureza genérica Exemplo : Nada é um “veículo” genericamente, mas sim um veículo terreste, marinho ou aéreo. Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Sobrecarga Mesmo nome, mas número ou tipo de parâmetros diferentes. Para sobrecarregar uma função, basta declarar os vários tipos que ela pode ter. Exemplo : classe carro, método frear. Se receber um parâmetro, indica a força que temos que aplicar no pedal. Se não receber nenhum parâmetro, indica que temos que parar o carro. Também é aplicável a operadores Exemplo: operador + 2 + 3 (adição inteira) 3.2 + 2.5 (adição real) Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Polimorfismo Esconder procedimentos alternativos por trás de uma interface comum. Polimorfismo vem do grego e significa “muitas formas.” Isto permite que se tenha uma interface comum que esconde detalhes de implementação Exemplo : método frear. Tem uma implementação na classe base (carro). Tem outra implementação na classe filha (ferrari). A função da classe filha se sobrepõe (overrides) à da classe mãe Programação Orientada a Objeto - Aula 1

Polimorfismo  Sobrecarga Com polimorfismo, nós decidimos qual dos métodos será usado em tempo de execução (exemplo claro de binding dinâmico). Com sobrecarga, podemos decidir qual dos métodos será usado em tempo de compilação, distinguindo pelos parâmetros passados. O processo de escolha da função correta pelo compilador é chamado de resolução de sobrecarga (overload resolution) Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Programas Java Programas Java consistem em classes, que são formadas por atributos e métodos que realizam tarefas e retornam informações quando apropriado. Isto é, para fazer seus programas Java, você precisa desenvolver classes que chamarão outras classes, e assim por diante. Logo, precisamos aprender como desenvolver nossas próprias classes em Java para que possamos implementar soluções para nossos problemas. Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Programando OO em Java O núcleo da LP é pequeno, mas existem várias bibliotecas de classes que fornecem várias funcionalidades adicionais para a LP. Em Java usamos uma abordagem de blocos de construção, reutilizando os softwares já existentes. Isto fará com que: Seus programas tenham melhor desempenho, pois normalmente as classes pré-programadas são mais otimizadas do que o seu código pessoal. Melhore a portabilidade do seu programa, pois estará usando classes e métodos que são incluídos em praticamente todas as implementações do Java Você economize tempo de programação. Programação Orientada a Objeto - Aula 1

A Linguagem de Programação Java Onde encontrar informação Inventada pela Sun Microsystems http://java.sun.com O código Java é compilado para um código de nível médio (byte code), que é independente de máquina e precisa então ser interpretedado por um interpretador Java. Compilador Java Arquivo Class Java Interpretador Java Código Fonte Java Executar Programa Programação Orientada a Objeto - Aula 1

Editando seus programas Um arquivo fonte Java é 100% texto puro. Você pode editá-lo usando qualquer editor de texto de sua preferência (notepad, vi, emacs, edit, etc). Existem ambientes IDE, como Netbeans (escrito em Java e gratuito para usos não comerciais), Jbuilder, Visual Café e o Visual J++ Os arquivos fonte devem ter extensão .java Programação Orientada a Objeto - Aula 1

Editando seus programas Java é uma linguagem de formato livro. Isto quer dizer que não necessitamos de espaços em branco, identação ou pulo de linha para que o compilador entenda nossos códigos. Como em qualquer linugagem, devemos programa em Java buscando sempre o máximo de clareza para facilitar a compreensão e a manutenção posteriores. Assim sendo, apesar de não serem obrigatórios, a identação, pulos de linha e espaços em branco são altamente recomendados Programação Orientada a Objeto - Aula 1

Breve introdução ao Java Vamos ver agora dois exemplos que nos permitirão ter uma idéia de como programar em Java. Entretanto, vários conceitos serão omitidos neste momento. Não há motivo para estresse ou para começar a pensar em destruir seu computador - nós vamos ver tudo detalhadamente ainda neste curso! Programação Orientada a Objeto - Aula 1

Primeiro Exemplo em Java //Este é o nosso primeiro exemplo em Java public class HelloWorld { public static void main (String[] args) System.out.println("Hello World!"); } Programação Orientada a Objeto - Aula 1

Conceitos vistos no exemplo //  São iniciadores de comentários em uma linha (como no C++). Em Java também podemos ter comentários delimitados por /* e */, como no C. Os comentários marcados por // são preferíveis por poderem ser lidos pela ferramenta javadoc, que veremos neste curso se tivermos tempo. Não há necessidade de correr com a matéria, mas há muito para se ver em Java. Logo, quanto mais adiante formos, mais vocês aprenderão. Programação Orientada a Objeto - Aula 1

Conceitos vistos no exemplo public class HelloWorld Esta linha é uma definição de classe. Todo programa em Java consiste em uma ou mais classes definidas pelo programador (ou pelo usuário). A palavra chave class introduz uma definição de classe em Java e é imediatamente seguida pelo nome da classe. Notas importantes: O nome da classe segue é um identificador As palavras chaves em Java são palavras reservadas Java faz diferenciação entre maiúsculas e minúsculas (HelloWorld  Helloworld) Programação Orientada a Objeto - Aula 1

Conceitos vistos no exemplo public class HelloWorld public é um modificador de visibilidade Toda classe public deve estar gravada em um arquivo cujo nome é o mesmo da classe (neste caso, HelloWorld.java) Assim, não podemos ter duas classes public no mesmo arquivo. Vamos ver como contornar isto mais a frente. Todo arquivo java deve terminar com a extensão .java Programação Orientada a Objeto - Aula 1

Conceitos vistos no exemplo { } Os blocos de comando são definidos pelas chaves, como no C e no C++ Vocês notarão muitos pontos em comum entre o Java e estas linguagens. public static void main (String[] args) Todo aplicativo Java deve ter um método main, onde ele é iniciado. Se não tiver, o interpretador Java não executará a sua classe. Como no C, a palavra chave void indica que o método não retorna nenhum valor. Programação Orientada a Objeto - Aula 1

Conceitos vistos no exemplo public static void main (String[] args) O public é um modificador de visibilidade (faz o método ser público). O static diz que o método pertence à classe e não aos seus objetos Vamos ver estes conceitos com mais detalhes mais adiante! Programação Orientada a Objeto - Aula 1

Conceitos vistos no exemplo System.out.println("Hello World!"); System.out é o objeto de saída padrão Ele permite aos aplicativos Java escrever na janela de comando a partir do qual o aplicativo Java é executado. O método println imprime uma linha colocando um CRLF no fim. O método print faz o mesmo, só que sem o CRLF Os caracteres de escape \n, \t, etc. que conhecíamos do printf também valem para o print e para o println. Programação Orientada a Objeto - Aula 1

Como compilar o código usando JDK? Janela MS-DOS O arquivo fonte “.java” deve sempre ter esta extensão Executando o compilador Arquivo “.class” gerado Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Aplicativos Java Existem dois tipos de programas Java: Aplicativos : programas semelhantes a processador de textos, planilhas, etc. que normalmente são armazenados e executados localmente. são carregados na memória usando-se o interpretador Java. Applets : programas pequenos que normalmente são armazenados em um computador ao qual o usuário se conecta remotamente via web. São carregados e executados via appletviewer e precisam ser chamados através de uma página html. Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Como executar o código? Executando o interpretador Java Saída do programa e término Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Importante O diretório onde ficam o compilador (javac) e o interpretador (java) Java deve ser acrescentado ao PATH do DOS Se formos re-utilizar classes que nós mesmos criamos, devemos colocar seus diretórios no CLASSPATH do DOS Vamos voltar a este tema mais adiante neste curso. As duas mudanças podem ser feitas no próprio AUTOEXEC.BAT, para que quando o micro seja ligado, elas sejam automaticamente implementadas. O diretório corrente não necessariamente estará sendo buscado pelo interpretador java. Acerte as variáveis de ambiente. Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Segundo exemplo //Este é o nosso segundo exemplo em Java import javax.swing.JOptionPane; public class HelloWorld { public static void main (String[] args) JOptionPane.showMessageDialog(null, "Hello World!"); System.exit(0); } Programação Orientada a Objeto - Aula 1

Conceitos vistos neste exemplo import javax.swing.JOptionPane; Esta instrução serve para identificar e carregar classes requeridas para compilar um programa java. Existem muitas classes prontas em Java, como a classe Swing que contém elementos que nos ajudam a definir interfaces gráficas com os usuários. Existem elementos para diálogos, botões, janelas, etc. Se tivermos tempo, veremos também as interfaces gráficas ao fim deste curso. Mas não vamos correr mais por causa disto! Programação Orientada a Objeto - Aula 1

Biblioteca de classes Uma biblioteca de classes é uma coleção de classes que podemos usar quando desenvolvemos programas. Existe uma biblioteca padrão de classes Java que é parte de qualquer ambiente de desenvolvimento Java Estas classes não são parteda linguagem Java per se, mas nós nos baseamos bastante nelas. As bibliotecas de classes Java são equivalente às bibliotecas do C Programação Orientada a Objeto - Aula 1

Biblioteca de classes Várias classes que usaremos, como a System e a String são parte da biblioteca padrão de classes Java Outras bibliotecas de classes podem ser adquiridas com fabricantes de software ou criadas por você mesmo. Não seja teimoso! Desenvolver novamente classes já existentes é simplesmente tolice - causa erros e perda de performance! Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Pacotes As classes da biblioteca padrão Java são organizadas em pacotes. Alguns dos pacotes da biblioteca padrão são: Pacote java.lang java.applet java.awt javax.swing java.net java.util Propósito Suporte genérico Criar applets para a web Interfaces gráficas e gráficos Capacidades e componetes gráficos adicionais Comunicação em rede Utilidades variadas Programação Orientada a Objeto - Aula 1

import java.util.Random; A declaração import Quando queremos usar uma classe de um pacote, pode usar seu nome totalmente qualificado java.util.Random Outra opção é importar a classe, e depois usar o nome da classe: import java.util.Random; Para importar todas as classes em um pacote específico, você pode usar o caracter curinga * import java.util.*; Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 A declaração import Todas as classes do pacote java.lang são automaticamente importadas em nossos programas É por isto que não precisamos de um import no primeiro exemplo. Não é necessário estourar a cabeça tentando entender a fundo agora os conceitos de classes e pacotes. Nós os veremos com mais cuidado mais a frente neste curso! Programação Orientada a Objeto - Aula 1

Conceitos vistos neste exemplo System.exit(0); Esta instrução serve para finalizar o nosso programa. Todo programa com interface gráfica precisa ser finalizado desta forma, para que termine corretamente. Caso não o façamos, nossa janela de comando não voltará a funcionar corretamente. Programação Orientada a Objeto - Aula 1

Pergunta razoável Se eu preciso importar um arquivo para usar a classe JOptionPane, porque não preciso importar uma classe para usar a classe System e seu objeto out? Programação Orientada a Objeto - Aula 1

Resposta A classe System é parte do pacote java.lang Lembre-se que este pacote padrão é importado automaticamente em todo programa Java Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Terceiro exemplo import javax.swing.JOptionPane; public class Soma1 { public static void main (String[] args) { int n1,n2,soma; String s1,s2; s1=JOptionPane.showInputDialog(“Prim Num. :"); s2=JOptionPane.showInputDialog(“Seg. Num. :"); n1=Integer.parseInt(s1); n2=Integer.parseInt(s2); soma=n1+n2; JOptionPane.showMessageDialog(null,“A soma é”+soma); System.exit(0); } Programação Orientada a Objeto - Aula 1

Conceitos vistos neste exemplo import javax.swing.JOptionPane; Esta instrução serve para identificar e carregar classes requeridas para compilar um programa java, informando ao compilador onde pode encontrá-las (no caso, no diretório javax). public class Soma1 { Inicia as definições da classe Soma1. Como é uma classe pública, ela deve estar em um arquivo denominado Soma1.java A chave indica o começo do bloco de definições. Não esqueça que ela tem que ser fechada quando este terminar. Programação Orientada a Objeto - Aula 1

Conceitos vistos neste exemplo Declarações de variáveis Como em todas as linguagens compiladas, precisamos declarar as variáveis que usamos. Declarações consistem do tipo da variável, seu nome e um ponto-e-vírgula. Se tivermos mais de uma variável do mesmo tipo, podemos colocá-las na mesma declaração, separadas por vírgulas. É boa prática de programação dar para as variáveis nomes descritivos da sua verdadeira função. Programação Orientada a Objeto - Aula 1

Conceitos vistos neste exemplo int n1,n2,soma; Estamos declarando variáveis do tipo inteiro. Existem outros tipos numéricos, para armazenar números racionais (float e double). String s1,s2; Estamos declarando objetos da classe String. Como dissemos antes, não vamos nos aprofundar nos conceitos de Java neste momento. Mais a frente nós discutiremos todos estes conceitos mais profundamente. Programação Orientada a Objeto - Aula 1

Conceitos vistos neste exemplo s1=JOptionPane.showInputDialog(”Prim Num. :"); Estamos usando um método da classe JOptionPane que realiza uma entrada de dados. Este método retorna uma string. n1=Integer.parseInt(s1); Java é uma linguagem muito mais rigorosamente tipada do que o C. Não é possível realizar typecasting automático na maioria dos casos. Temos que chamar uma função (no caso um método da classe Integer) para poder converte a string entrada na instrução anterior em um inteiro para realizarmos a soma. Existe o tipo int e a classe Integer, que é denominada uma “wrapper class” do tipo. Mais à frente veremos isto com detalhes. Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Quarto exemplo import javax.swing.JOptionPane; public class Max1 { public static void main (String[] args) { int n1,n2,max; n1=Integer.parseInt(JOptionPane.showInputDialog(“Prim Num. :")); n2=Integer.parseInt(JOptionPane.showInputDialog(“Seg Num. :")); if (n1>n2) { max=n1; } else { max=n2; } JOptionPane.showMessageDialog(null,“O máximo é ”+max); System.exit(0); Programação Orientada a Objeto - Aula 1

Conceitos vistos neste exemplo if (n1>n2) { O if é uma statement condicional, que permite que tomemos decisões/escolhamos um curso de ação em nossos programas. A statement if tem o seguinte formato: if (condição) statement1 else statement2 onde: condição é uma expressão booleana (lógica) statement1 é executada se a condição é avaliada como verdadeira. statement2 é executada se a condição é avaliada como falsa. A cláusula else é opcional A statement1 e a statement2 podem ser substituídas por um bloco de statements, mas neste caso não podemos esquecer das chaves em torno deste bloco. Programação Orientada a Objeto - Aula 1

Programação Orientada a Objeto - Aula 1 Quinto Exemplo import javax.swing.JOptionPane; public class Max1 { public static void main (String[] args) { int i,soma; i=1; soma=0; while (i<=10) { soma+=Integer.parseInt(JOptionPane.showInputDialog(“Num :")); i++; } JOptionPane.showMessageDialog(null,“A soma é ”+soma); System.exit(0); Programação Orientada a Objeto - Aula 1

Conceitos vistos neste exemplo while (i<=10) { Statements de repetição nos permitem repetir ações dentro de nossos programas Existem três tipos de estruturas de repetição em Java for statement do statement while statement Compromisso: Veremos todas com cuidado depois! Programação Orientada a Objeto - Aula 1

Conceitos vistos neste exemplo O comando while permite que um statement (ou bloco de statements) seja repetido até que uma determinada condição seja verdadeira. Formato geral: while(condition){ statement(s) } Onde: condição é uma expressão booleana a(s) statement(s) sendo repetidas alteram o valor da condição para false em algum momento Programação Orientada a Objeto - Aula 1

Comportamento do while Na primeira vez que o loop é executado, a condição é avaliada. Se ela for falsa, não se executa as statements dentro do loop nenhuma vez. Se for verdadeira, executam-se todas as statements do loop e volta-se para o começo para avaliar a condição novamente. Este passo é repetido até que a condição seja falsa. Isto implica que as statements podem executar qualquer número de vezes (de zero a infinito!) Programação Orientada a Objeto - Aula 1

Fim da aula Já temos uma boa introdução. Melhorem-na, fazendo os exercícios! Programação Orientada a Objeto - Aula 1