Sobre o Professor Dr. Sylvio Barbon Junior



Documentos relacionados
Programação Orientada a Objetos em Java

Java. Marcio de Carvalho Victorino

Java 2 Standard Edition Como criar classes e objetos

Sobre o Professor Dr. Sylvio Barbon Junior

Módulo 07 Características Avançadas de Classes

Programação por Objectos. Java

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Orientação a Objetos

2 Orientação a objetos na prática

Construção de novas Classes em Java. Classes Atributos Métodos Herança...

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação de Computadores - I. Profª Beatriz Profº Israel

Análise de Programação

Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Projeto de Software Orientado a Objeto

Programação Orientada a Objeto

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Prof. Esp. Adriano Carvalho

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

NetBeans. Conhecendo um pouco da IDE

Reuso com Herança a e Composiçã

Um pouco do Java. Prof. Eduardo

Introdução à Linguagem Java

Linguagem de Programação Introdução a Linguagem Java

Programação por Objectos. Java

JSP - ORIENTADO A OBJETOS

Aula 3 Objeto atual com referencia THIS e Classes com Herança

Sintaxe Básica de Java Parte 1

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

DEFINIÇÃO DE MÉTODOS

Linguagem de Programação III

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education

Programação Orientada a Objetos em Java. Herança

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

Programação por Objectos. Java

Especificação do 3º Trabalho

Laboratório I Aula 2

Técnicas de Programação II

Tópicos da Aula. Classes e Objetos. Classe Pública em Java. Classes em Java. Assinatura de Métodos. Corpo de Classes e Métodos. Conceitos de classe

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Análise e Projeto Orientados por Objetos

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Programação Orientada a Objetos (DPADF 0063)

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

AULA Uma linguagem de programação orientada a objetos

Módulo 06 Desenho de Classes

2 Diagrama de Caso de Uso

Prof. Jhonatan Fernando

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Linguagens de. Aula 02. Profa Cristiane Koehler

EMENTA DO CURSO. Tópicos:

Programação online em Java

BSI UFRPE Prof. Gustavo Callou

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Profº. Enrique Pimentel Leite de Oliveira

Programação Orientada a Objetos (DPADF 0063)

THREADS EM JAVA. George Gomes Cabral

Programação Orientada a Objetos em java. Polimorfismo

Qualidade de Software

1. Apresentação Objetivos

Programação Orientada a Objetos

Guia de Fatores de Qualidade de OO e Java

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

OOP - Java. Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora

Objetivos: Entender o funcionamento dos programas Java via linha de comando

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

Implementando uma Classe e Criando Objetos a partir dela

Unidade IV: Ponteiros, Referências e Arrays

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Java TM e o Modelo de Objetos

Capítulo 4. Packages e interfaces

Encapsulamento de Dados

Desenvolvimento OO com Java Orientação a objetos básica

Linguagens de Programação. Linguagens de Script. Carlos Bazilio

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Programação Orientada a Objetos. Encapsulamento

Desenvolvimento Web TCC Turma A-1

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

4 Estrutura do Sistema Operacional Kernel

Orientação a Objetos com Java

Introdução a Linguagem

Herança. Alberto Costa Neto DComp - UFS

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Invocação de Métodos Remotos

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Capítulo 13. Encapsulamento. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

CURSO DE PROGRAMAÇÃO EM JAVA

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

Programação Orientada a Objetos

JAVA Orientação a Objetos. Usando diálogos com JOptionPane

Transcrição:

5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1

Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005 e 2008) São José do Rio Preto, Mestrado em Física Computacional (2007) São Carlos, Doutorado em Física Computacional (2011) São Carlos. Experiência Acadêmica: Docente no Senac(2008-2010), Universidade do Estado de Minas Gerais (2008 2012), Faculdade de Tecnologia de São José do Rio Preto (2010 2012), UEL (2013). Experiência Não Acadêmica: Analista desenvolvedor Riosoft(2004 2006) e Gerente de Projetos Net-Fit(2008-2011). Certificado SCJP. Áreas de Interesse: Processamento de Sinais (Imagem e Áudio) e Mineração de Dados. Projetos de Mineração de Texto em Redes Sociais, Reconhecimento de Patologias Mentais pela Voz e Reconhecimento de Imagens Médicas. Sylvio Barbon Jr barbon@uel.br 2

Ementa Laboratório de Programação 5COP088 Laboratório de Programação Estudo e prática de linguagens de programação de alto nível Objetivo: Revisar e nivela os conhecimentos em linguagens de programação estruturada e prática de programação orientada a objetos. Conteúdo Programático: 1) Declaração e Controle de Acesso; 2) Orientação a Objetos; 3) Atribuições; 4) Operadores; 5) Controle de Fluxo, Exceções e Assertivas; 6) Strings, Entrada e Saída, Formatação e Parsing; 7) Genéricos e Conjuntos; 8) Classes Internas; 9) Threads; 10) JSP e Servlets. Sylvio Barbon Jr barbon@uel.br 3

Aula 1 Introdução [Java] 5COP088 Laboratório de Programação

Aula 1 Introdução [Java] Motivos para se estudar Java: 5COP088 Laboratório de Programação - Linguagem Simples; - Linguagem Orientada a Objetos; - Multithread; - Interpretada (vantagem?); - Independência de Arquitetura (Hardware e Software); - Portabilidade (Linux, Mac, Windows etc); - Alto desempenho (garbage collector); - Robusta (tipagem rígida, inicialização automática, exceções).

Identificadores -Os identificadores podem começar com uma letra, underline ou um caractere monetário; - Depois do primeiro caractere, pode-se incluir dígitos; - Os identificadores podem ter qualquer comprimento; -Os métodos deve ser nomeados usando camelcase, dependendo do propósito devem começar com set, get, is, addou remove. class Aula1{ public int idade; public int_idade; public int idade; // não gera erro, apenas fora do padrão camelcase }

Método principal de inicialização - publico (public); - estático (static); - sem retorno (void); -chamado main ; - parâmetro deve ser um vetor de String (String[] args) Erro: Ausência do método principal Error: Main method not found in class Aula1, please define the main method as: public static void main(string[] args) Classe com método principal class Aula1_2{ public static void main(string[] args) { System.out.println("Argumento -" + args[0]); } }

Comandos java e javac -javacé o comando de compilação java, deve ser passado como parâmetro uma classe java(fonte.java )e será gerado uma classe compilada (.class). Compilando classe Java javac Aula1_2.java java Aula1_2 -javaé o comando para invocar a JVM (Java Virtual Machine) Executando classe Java Executando classe Java com parâmetro java Aula1_2 MeuParametro

Identificadores Classes utilizando a Modelagem UML com o Diagrama de Classes

Regras de declaração -Um arquivo de código fonte só pode ter uma classe pública; -O nome do arquivo deve coincidir com o dessa classe; -O arquivo só pode ter uma instrução de pacote; - Um arquivo pode ter várias instruções; -A instrução de pacote deve ficar na primeira linha do código; -A instrução de importação deve vir depois do pacote; -O arquivo pode ter mais de uma classe não pública; -Se os arquivos não tiverem classes públicas, não há restrição para o nome;

Regras de declaração Classe com método principal package uel; import javax.swing.*; Executando classe java uel.aula1_3 5 2 public class Aula1_3{ public static void main(string[] args){ int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); intsoma = a + b; JOptionPane.showMessageDialog(null, "A soma é \""+soma+"\"", "Resultado", JOptionPane.WARNING_MESSAGE); // JOptionPane.ERROR_MESSAGE } }

Identificadores Classe utilizando a Modelagem UML com o Diagrama de Classes

Modificadores de acesso a classe - Três modificadores: public, protected e private; - Quatro níveis: public, protected, default e private; -As classes só tem acesso publice default; Private Protected Default Public

Modificadores de classe (não se referem a acesso) - As classes podem ser: final, abstract ou strictfp; -Uma classe não pode finale abstract; -Uma classe finalnão pode ter subclasse; - Uma classe abstract não pode ser instanciada; -Uma classe somente com um método abstractsignifica que a classe inteira deve ser abstract; - Uma classe abstract pode ter métodos abstracts ou não; - A primeira classe concreta a estender uma classe abstract terá que implementar todos os métodos abstracts.

Modificadores de classe (não se referem a acesso) Classe Mãe ou Superclasse package uel; public class Aula1_4{ } public int totalsuperclasse; public int totalclasse; private int totalrestrito;

Modificadores de classe (não se referem a acesso) Classe Filha ou subclasse package uel; public class Aula1_5 extends Aula1_4{ public int totalclasse; public static void main(string args[]){ newaula1_5(); } } // continuação no outro slide

Modificadores de classe (não se referem a acesso) Classe Filha ou subclasse (continuação) public Aula1_5(){ totalclasse = 1; super.totalclasse = 2; totalsuperclasse = 3; super.totalsuperclasse = 4; } System.out.println("O total na classe é "+totalclasse); System.out.println("O total na classe é "+super.totalclasse); System.out.println("O total na classe é "+totalsuperclasse); System.out.println("O total na classe é "+super.totalsuperclasse);

Implementação de Interfaces -As interfacessão contratos que definem o que a classe poderá fazer, mas não dizem nada sobre a maneira pela qual ela deverá fazê-lo. -As interfacespode ser implementadas por qualquer classe, de qualquer árvore de herança; -A interfaceé como uma classe 100% abstract; -Uma interfacesó pode ter métodos abstracts, nenhum método concreto é permitido; -Os métodos das interfaces são por padrão publice abstracts, sendo a declaração explícita um opcional; -As interfacespodem ter constantes que serão sempre implicitamente public, static e final;

Implementação de Interfaces -Uma classede implementaçãode uma interfaceque seja não-abstract válida, deverá: > Fornecer a implementação concreta dos métodos; > Deve seguir todas as regras de sobrecarga válida; > Não deve declarar nenhuma exceção nova; > Não deve declarar nenhuma exceção + abrangente. > Pode declarar exceções de tempo de execução; > Deve manter a assinatura e retorno dos métodos; -Uma classe que estiver implementando uma interfacepode ser abstract; -Uma classe de implementação abstract não precisa implementar todos os métodos da interface; - A classe pode implementar várias interfaces;

Implementação de Interfaces -As interfacesnão podem estender uma classe ou implementar uma classe ou interface;

Modificadores de acesso a membros -Os métodos e variáveis de instância são conhecidos como membros; -Os membrospodem usar os quatroníveis de acesso; -Se uma classenão puder ser acessada, seus métodos também não serão; -Se um membro da superclassefor public, a subclasse o herdará; -Membros acessados sem o operador. pertencem a mesma classe; -A palavra reservada thisrefere-se ao objeto em execução em determinado momento; -Os membros privatesó podem ser acessados por membros da mesma classe;

Modificadores de acesso a membros -Os membros defaulte protectedsó diferem quando subclasses estão envolvidas; -Os membros protectedsó podem ser acessados por outras classes de mesmo pacotes; -As declarações de variáveis locais não podem ter modificadores de acesso; - final é o único modificador disponível para variáveis locais; -As variáveis locais não recebem valores padrão, assim devem ser inicializadas antes do uso;

Outros modificadores -Os métodos finalnão podem ser sobrecarregados dentro de uma subclasse; -Os métodos abstractterminam com ; e não com chaves; -Um método não é abstrata: > Quando não é marcado como abstract; > Quando possui chaves; > Quando possui um código entre as chaves; -A primeira classe não abstrata a estenderuma classe abstract deve implementar todos os métodos abstract dessa; -O modificador synchronizedsó é aplicado a métodos e blocos de códigos -O método abstractnãopode ser finalnem private.

Declaração de Array -Os arrayspodem armazenar tipos primitivos ou objetos, mas o array propriamente dito é sempre um objeto; -Quando você declara um array, os colchetes podem ficar à esquerda ou à direita do nome da variável; -Nunca é válido incluir o tamanho do arrayna declaração; Declaração de Array - Não são associados a nenhuma instância específica da classe; -Não é necessária a existência da instância de uma classe para que os membros static desta sejam usados; -Só haverá uma cópia da variável ou classe statice todas as instâncias a compartilharão; - Os métodos static não têm acesso direto a não-static;

Referências Deitel,P.; Deitel, H. Java Como Programar.