Programação para Dispositivos Móveis
J2ME – Fundamentos da Linguagem Java
Prof. Milton Escóssia
Introdução O desenvolvimento de aplicações Java ME
envolve conceitos como:– Orientação a objetos– Java Code Convention– Java Bean– Construção de interface gráfica– Comunicação via rede sem fio– etc.
Programa x Classe● Programa :
● Visão estrutura do mundo> variáveis e funções genéricas.
● Classe:● Visão OO do mundo● Descreve conceitos, agrupamento de coisas
similares do mundo real; > atributos e métodos
Programa x Classe
Variáveis Globais
Funções ( )
Atributos
Métodos ( )
Programa Classe
Visão Estruturada Visão Orientação a Objetos
Classe x Objeto● Classe:
● descreve coisas do mundo real através de:> atributos (características)> métodos (operações, ações)
● Objeto:● são coisas do mundo real; ● É a materialização de uma classe;● mesmo que instância de uma classe.
Classe x Objeto● Imagine a seguinte situação:
● Pedimos a um engenheiro projetar um casa;● Sabemos que a nossa casa terá algumas
características como: - número, - cor, - nome do engenheiro, - quantidade de quartos;
● Na nossa casa nós podemos: abrir porta, ascender a luz;
Classe x Objeto
Classe x Objeto●Instanciação
● Se refere a materialização de uma classe.● Uso do comando new para criar um objeto de
uma classe.
● Exemplo:● Rapaz uma pessoa jogou muito bem no domingo;
> Que pessoa ? O Ronaldinho Gaúcho.● Quando falamos de pessoa temos apenas a ideia
de um jogador agora quando falamos que foi o Ronaldinho Gaúcho o que vem em nossa cabeça ?
Classe x Objeto● Instanciação
Classe x Objeto● Instanciação
Classe x Objeto● Instanciação
Fundamentos Java e Orientação a Objetos● Tipos de primitivos do JAVA :
- boolean : 1 Bit;- char : 1 Byte (8 bits);- byte : 1 Byte (8 bits);- short : 2 Bytes (16 bits);
- int (Inteiro) : 4Bytes (32 bits);- long : 8 Bytes (64 bits);- float : 4 Bytes (32 bits);- double : 8 Bytes (64 Bits).
Fundamentos Java e Orientação a Objetos● Palavras reservadas da linguagem:
Fundamentos Java e Orientação a Objetos
Java Code Convention> Conjunto de regras de boas práticas da SUN para nomenclatura
de identificadores.> Não gera erro de compilação.
Regras do Java Code Conventioni) classes e interfaces
> Pessoa, Veiculo, MinhaClasse, MinhaInterface
ii) atributos, métodos, variáveis e parâmetros> valor, numero, minhaVariavel, salarioBruto, nomeDaVariavel
iii) constantes> PI, MINHA_CONSTANTE, VALOR_DO_DOLAR
Regras de Nomenclatura de Identificadores
Identificador> Nome dado a classes, interfaces, atributos, métodos, constantes,
variáveis e parâmetros.
Regras de Nomenclatura1. Deve iniciar com $, ou _ (sublinhado), ou Letra (A-Z, a-z)2. Os demais caracteres do nome pode conter a combinação de :
$, ou _ (sublinhado), ou Letra (A-Z, a-z),ou números (0-9)3. Não pode conter caracteres especiais tais como:
> espaço em branco, @, #, -, +, =, etc.4. Não pode ser igual a palavra-chave ou reservada da linguagem:
> int, class, public, void, etc.
AtençãoA não obediência a essas regras gera erro de compilação!
Estilo de Codificação Java
Java Code Convention> Conjunto de regras de boas práticas da SUN para nomenclatura
de identificadores.> Não gera erro de compilação.
Regras do Java Code Conventioni) classes e interfaces
> Pessoa, Veiculo, MinhaClasse, MinhaInterface
ii) atributos, métodos, variáveis e parâmetros> valor, numero, minhaVariavel, salarioBruto, nomeDaVariavel
iii) constantes> PI, MINHA_CONSTANTE, VALOR_DO_DOLAR
Unidade base do Java
Java Bean> Se refere a uma classe componente do java.> Utilizado para padronizar a estrutura e nomenclatura dos elementos que compõe uma classe JavaBean.
Regras do Java Beani) Encapsulamento
> atributos devem ter visibilidade private
ii) Construtor> deve ter no mínimo um construtor vazio
iii) Propriedade> Combinação de métodos GETTERS e SETTERS para permitir o acesso controlado aos valores dos atributos de um objeto.
Java Bean
getter
setter
Membros de Instância
Membros de instância
Membros de Instância
Classe
Objeto
Instância (“new”)
Instância (“new”)
Instância (“new”)
Membros de Classe
Membros de instância
Membro estático
Membros de Classe
Classe
Objeto
Instância (“new”)
Instância (“new”)
Instância (“new”)
Método Construtor
Construtor
Sobrecarga de métodos
Sobrecarga
Herança● Mecanismo da OO que permite que uma classe use
recursos (atributos e métodos) de outra classe.● Estabelece uma relação hierarquica entre as classes.● Java suporta somente Herança simples entre classes e
Herança múltipla de interfaces.
Pai
FilhaUm FilhaDois
Neta
Herança Na herança, todo Gerente é um Funcionario, pois é uma extensão deste. Se alguém precisa falar com um Funcionario do banco, pode falarcom um Gerente! Porque? Pois Gerente é um Funcionario. Essa é a semântica da herança.
Super Tipo Classe pai
Sub Tipo Classe filha
Generalização
Especialização
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 7
Herança
É umPode ser um
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 7
Classe Abstrata● É uma tipo de classe que serve de molde para outras classes;● Não pode ser instanciada;
● Usa-se a palavra chave abstract para qualificá-la como uma classe abstrata, impedindo de ser instanciada.● Uma classe abstrata pode-se declarar métodos abstratos que determinam que o método será sempre sobrescrito nas classes filhas.
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9
Classe Abstrata
As classes filhas que podem ser instanciadas são chamadas de classes concretas. Elas devem reescrever o método abstrato ou não compilarão.
Uma classe abstrata não precisa necessariamente ter um método abstrato.
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9
Classe Abstrata
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9
Classe Abstrata
Classe Concreta
Classe Abstrata
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9
Classe Abstrata
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9
Classe Abstratacom métodos abstratos
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9
Classe Abstrata
Classe Concreta
Classe Abstratacom métodos abstratos
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9
Interface● Se refere a um fator comum (serviço, operação, método) a
várias classes;
● Atua como um contrato através da implementação de um serviço comum a várias classes independentes entre elas;
● É uma forma que permite garantir que determinadas classes tenham a existência de um determinado método, através de um contrato.
- um “contrato” define tudo o que uma classe deve fazer se quiser ter um determinado status.
- uma interface atua como um contrato onde quem assina se responsabiliza por implementar seus métodos (para cumprir o contrato).
InterfaceComo permitir que as classes abaixo tenham um método comum de autenticação ?
A implementação de uma interface permite estabelecer um elo comum entre classes distintas.
Lê-se a interface “Autenticável” da seguinte forma: “quem desejar ser autenticável precisa saber autenticar dado um inteiro e retornando um booleano”.
Interface
Interface – Representação com UML
Interface
implementa
Interface
Interface
Interface