Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Linguagem de Programação – REV AV2 Análise e Desenvolvimento de Sistemas Ceará, 30 de Maio de 2016 CONTEÚDO Revisão AV2 Paradigma de Orientação à Objetos Máquina Virtual Java Utiliza o conceito de máquina virtual; Camada responsável por interpretar os bytecodes CARACTERÍSTICAS FASES DE UM PROGRAMA Os programas Java normalmente passam por cinco fases para serem executados: Fase 1 (Edição): Consiste em editar um arquivo com código em Java e salvá-lo com a extensão .java Fase 2 (Compilação): Comando javac compila o programa. O compilador Java traduz (.java => .class) Fase 3 (Carga): Carrega o programa na memória antes de ser executado. Carregador de classe, pega o arquivo(s) .class que contém os bytecodes Fase 4 (Verificação): O verificador assegura que os bytecodes são válidos e não violam as restrições de segurança de Java Fase 5 (Execução): A JVM máquina virtual Java (Interpretador) interpreta (em tempo de execução) o programa, realizando assim a ação especificada pelo programa FASES DE UM PROGRAMA Orientação a objetos pressupõe que o mundo é composto por objetos, onde um objeto é uma entidade que combina estrutura de dados e comportamento funcional. No paradigma orientado a objetos, os sistemas são criados a partir dos objetos que existem no domínio do problema, isto é, os sistemas são modelados como um conjunto de objetos que interagem entre si. 6 PARADIGMA DE ORIENTAÇÃO À OBJETOS Definição : Um objeto é a representação computacional de um elemento ou processo do mundo real Exemplos : cadeira, aula, venda, cliente … Os objetos possuem características e comportamentos Cada característica ou propriedade é chamada de atributo do objeto Por exemplo, o objeto moto tem como atributos cor, marca, … Podemos sempre associar um conjunto de valores aos atributos. Exemplo : a cor da moto pode ser vermelha, azul, verde, etc. 7 PARADIGMA DE ORIENTAÇÃO À OBJETOS Cada comportamento é chamado de método do objeto Um comportamento representa uma reação ou resposta de um objeto a uma ação do mundo real Exemplos de comportamentos para o objeto moto : acelerar, parar ... 8 PARADIGMA DE ORIENTAÇÃO À OBJETOS As classes são os elementos básicos para construção de programas OO em linguagens como C++, Java e C#. Assim, para construir um programa OO devemos, inicialmente, identificar as classes que fazem parte do problema que estamos tentando resolver Ao analisar um problema a ser resolvido, as classes normalmente são extraídas: 1. dos conceitos que compõem o domínio do problema; 2. dos conceitos adotados na solução do problema. 9 PARADIGMA DE ORIENTAÇÃO À OBJETOS Uma classe encapsula atributos e métodos, ocultando os detalhes de implementação dos objetos Princípio do desenvolvimento orientado a objetos: o encapsulamento determina que a implementação de um objeto somente deve ser acessada através de uma interface visível e bem definida Os atributos não podem ser manipulados diretamente. Os atributos podem ser alterados ou consultados somente através dos métodos do objeto. 10 ENCAPSULAMENTO Princípio do Encapsulamento: Atributos não devem ser visíveis por nenhum objeto que não seja instância da própria classe ou de uma classe descendente (herança) Assim, devemos declarar nossos atributos sempre como protected ou private 11 ENCAPSULAMENTO public NomeDaClasse ([parâmetros]) [throws exceções] { [ corpo do construtor ] } Observe que: Construtores devem ter, obrigatoriamente, o mesmo nome da classe Construtores não têm nenhum tipo de retorno Construtores podem receber parâmetros que serão usados na inicialização do objeto Quando não definimos nenhum construtor para a classe, o Java gera automaticamente um construtor default ou padrão. 12 MÉTODO CONSTRUTOR Em alguns casos precisamos implementar alguns métodos que independem dos objetos de uma classe. Nesse caso, chamamos esses métodos de métodos da classe. Tais métodos são implementados usando a palavra static. Todos os métodos da classe Math são estáticos 13 MÉTODO ESTÁTICO A principal diferença entre os métodos estáticos e os métodos de instância está na sua chamada. Exemplos: double x = 12.2; double y = Math.sqrt(x); // calcula a raiz quadrada de x long z = Math.round(y); // arredonda o valor de y Constante estática PI: Math.PI 14 MÉTODO ESTÁTICO Métodos da classe Math : abs, acos, asin, atan, ceil, cos, exp, floor, log, max, min, pow, random, round, sin, tan, sqrt. Destaque para abs, max, min, pow, round, sqr Regra para chamar um método estático : Classe.Método O operador ponto é usado. Atributos estáticos No caso de atributos estáticos só existe UMA cópia desse atributo na memória que é COMPARTILHADA por todos os objetos da classe. Assim como os métodos estáticos, os atributos estáticos são chamados atributos da classe e, por isso, podem ser acessados diretamente a partir da classe 15 MÉTODO ESTÁTICO No caso de atributos estáticos só existe UMA cópia desse atributo na memória que é COMPARTILHADA por todos os objetos da classe. Assim como os métodos estáticos, os atributos estáticos são chamados atributos da classe e, por isso, podem ser acessados diretamente a partir da classe. 16 MÉTODO ESTÁTICO Métodos de instância : 1) Só podem ser chamados a partir de objetos da classe. 2) Podem acessar (ler ou alterar) atributos da instância ou atributos da classe (estáticos). Métodos estáticos : 1) São chamados a partir da própria classe. 2) Só podem acessar (ler ou alterar) atributos da classe (estáticos). 17 DIFERENÇAS IMPORTANTES Como tratar, em Java, as seguintes situações? Divisão por zero Erro na conversão de tipos (por exemplo, converter uma string que só contém letras e números) Erro na abertura de um arquivo Etc... Todas essas situações em Java são chamadas de exceções e existe um mecanismo específico para tratá-las. 18 TRATAMENTO DE EXCEÇÕES O tratamento de exceções é um mecanismo que permite que o programa defina como as situações inesperadas serão tratadas. Com relação ao tratamento de exceções temos : 1. Blocos try...catch...finally 2. Comando throws 3. Comando throw 19 TRATAMENTO DE EXCEÇÕES A classe Exception é a classe mãe de todas as exceções que nos interessa. Ela possui alguns métodos úteis e comuns a todas as exceções: Construtor Exception(String msg): permite criar uma exceção e armazenar a mensagem de erro. getMessage(): retorna a mensagem de erro. printStackTrace(): imprime a pilha de chamadas no mesmo formato da JVM. getStackTrace(): retorna a pilha de chamadas. Nesse caso você pode implementar a sua própria impressão ou salvar essa informação em outro local ou formato (por exemplo, para montar um log de erros). 20 TRATAMENTO DE EXCEÇÕES VISÃO GERAL DO SWING E AWT Uma interface gráfica com o usuário ou GUI (lê-se : ?gui?) fornece um mecanismo amigável ao usuário para interagir com o aplicativo. Exemplo de GUI : janela do Internet Explorer As GUIs são construídas a partir de componentes GUI. Tais componentes são chamados às vezes de controles ou widgets (abrevia-se : window gadgets). Um componente GUI é um objeto com que o usuário interage via mouse, teclado ou outro formulário de entrada, como reconhecimento de voz. CLASSE JOPTIONPANE É uma classe com métodos estáticos que contém métodos que exibem diálogos de mensagem e diálogos de entrada Métodos : 1) showMessageDialog JOptionPane.showMessageDialog(null, "Esta é uma mensagem !"); JOptionPane.showMessageDialog(null, "Texto da Mensagem", "Titulo da janela criada", TIPOICONE); onde TIPOICONE pode ser: JOptionPane.ERROR_MESSAGE JOptionPane.INFORMATION_MESSAGE JOptionPane.WARNING_MESSAGE JOptionPane.QUESTION_MESSAGE JOptionPane.PLAIN_MESSAGE CLASSE JOPTIONPANE 2) showInputDialog Exemplo : String numLido = JOptionPane.showInputDialog( "Informe:" ); Note : Os métodos showInputDialog e showMessageDialog são static. Como chamar um método estático ... Regra : classe.método LAYOUTS A forma com que os componentes aparecem dispostos no painel é chamada layout. Cada container pode estar associado a um gerenciador de layout (Layout Manager). Alguns Layout Managers : o FlowLayout - classe no pacote java.awt - default para JPanel o GridLayout - classe no pacote java.awt o BorderLayout - classe no pacote java.awt - default para JFrame Para associar um LayoutManager a um Container deve-se utilizar o método setLayout . Nesta aula veremos apenas o FlowLayout. Obrigado!
Compartilhar