programação para dispositivos móveiscodilon.qlix.com.br/jd/jdaula03.pdf · fundamentos java e...

42
Programação para Dispositivos Móveis J2ME – Fundamentos da Linguagem Java Prof. Milton Escóssia

Upload: others

Post on 14-Oct-2020

123 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Programação para Dispositivos Móveis

J2ME – Fundamentos da Linguagem Java

Prof. Milton Escóssia

Page 2: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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.

Page 3: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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

Page 4: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Programa x Classe

Variáveis Globais

Funções ( )

Atributos

Métodos ( )

Programa Classe

Visão Estruturada Visão Orientação a Objetos

Page 5: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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.

Page 6: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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;

Page 7: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Classe x Objeto

Page 8: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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 ?

Page 9: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Classe x Objeto● Instanciação

Page 10: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Classe x Objeto● Instanciação

Page 11: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Classe x Objeto● Instanciação

Page 12: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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).

Page 13: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Fundamentos Java e Orientação a Objetos● Palavras reservadas da linguagem:

Page 14: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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

Page 15: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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!

Page 16: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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

Page 17: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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.

Page 18: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Java Bean

getter

setter

Page 19: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Membros de Instância

Membros de instância

Page 20: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Membros de Instância

Classe

Objeto

Instância (“new”)

Instância (“new”)

Instância (“new”)

Page 21: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Membros de Classe

Membros de instância

Membro estático

Page 22: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Membros de Classe

Classe

Objeto

Instância (“new”)

Instância (“new”)

Instância (“new”)

Page 23: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Método Construtor

Construtor

Page 24: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Sobrecarga de métodos

Sobrecarga

Page 25: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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

Page 26: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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

Page 27: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Herança

É umPode ser um

Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 7

Page 28: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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

Page 29: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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

Page 30: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Classe Abstrata

Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9

Classe Abstrata

Classe Concreta

Page 31: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Classe Abstrata

Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9

Page 32: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Classe Abstrata

Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9

Page 33: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Classe Abstratacom métodos abstratos

Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9

Classe Abstrata

Classe Concreta

Page 34: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Classe Abstratacom métodos abstratos

Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9

Page 35: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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).

Page 36: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

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”.

Page 37: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Interface

Page 38: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Interface – Representação com UML

Page 39: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Interface

implementa

Page 40: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Interface

Page 41: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Interface

Page 42: Programação para Dispositivos Móveiscodilon.qlix.com.br/jd/jdaula03.pdf · Fundamentos Java e Orientação a Objetos Java Code Convention > Conjunto de regras de boas práticas

Interface