Buscar

Aula 5.1 - Fundamentos da Linguagem Java

Prévia do material em texto

Fundamentos da Linguagem Java
Prof. Jorge Bergson/Prof. Milton Escóssia
� 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 :
◦ 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;
Variáveis Globais
Funções ( )
Atributos
Métodos ( )
Programa Classe
Visão Estruturada Visão Orientação a Objetos
� 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;
� 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;
� 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.Que pessoa ? O Ronaldinho Gaúcho.Que pessoa ? O Ronaldinho Gaúcho.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 ?
� Instanciação
� Instanciação
� Instanciação
� 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).
� Palavras reservadas da linguagem
� 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 Convention
I. 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;
� Identificador
◦ Nome dado a classes, interfaces, atributos, 
métodos, constantes, variáveis e parâmetros.
� Regras de Nomenclatura
◦ Deve iniciar com $, ou _ (sublinhado), ou Letra (A-
Z, a-z)
◦ Os demais caracteres do nome pode conter a 
combinação de :
◦ $, ou _ (sublinhado), ou Letra (A-Z, a-z),ou 
números (0-9)
� Regras de Nomenclatura
◦ Não pode conter caracteres especiais tais como:
� espaço em branco, @, #, -, +, =, etc;
◦ Não pode ser igual a palavra-chave ou reservada da 
linguagem:
� int, class, public, void, etc;
Fique Ligado!
A não obediência a essas regras gera erro de compilação!
� Java Bean
◦ Se refere a uma classe componente do java; 
◦ Utilizado para padronizar a estrutura e 
nomenclatura dos elementos que compõe uma 
classe JavaBeanJavaBeanJavaBeanJavaBean. 
� Regras do Java Bean
◦ EncapsulamentoEncapsulamentoEncapsulamentoEncapsulamento
� Atributos devem ter visibilidade privateprivateprivateprivate;;;;
◦ ConstrutorConstrutorConstrutorConstrutor
� deve ter no mínimo um construtor vazio;
◦ PropriedadePropriedadePropriedadePropriedade
� Combinação de métodos GETTERSGETTERSGETTERSGETTERS e SETTERSSETTERSSETTERSSETTERS para 
permitir o acesso controlado aos valores dos atributos 
de um objeto.
�
getter
setter
Membros 
de 
instância
Classe
Objeto
Instância (“new”)
Instância (“new”)
Instância (“new”)
Membros 
de instância
Membro 
estático
Classe
Objeto
Instância (“new”)
Instância (“new”)
Instância (“new”)
Construtor
Sobrecarga
� Mecanismo da OO que permite que uma 
classe use recursos (atributos e métodos) de 
outra classe;
� Estabelece uma relação hierárquica entre as 
classes;
� Java suporta somente Herança simples entre 
classes e Herança múltipla de interfaces;
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
� De acordo com o diagrama anterior:
◦ Todo GerenteGerenteGerenteGerente é um FuncionarioFuncionarioFuncionarioFuncionario, pois é uma 
extensão deste.;
◦ Se alguém precisar falar com um Funcionario do 
banco, pode falar com um Gerente! Por que? Porque 
Gerente é um Funcionário. Essa é a semântica da 
herança.
É um Pode ser um
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 7
GeneralizaçãoEspecialização
Superclasse
Classe Pai
Super Tipo
Subclasse
Classe Filha
Subtipo
Pode ser do tipo
É um tipo de
Sobrescrita Polimorfismo
� É uma tipo de classe que serve de molde para 
outras classes;
� Não pode ser instanciada; 
� Usa-se a palavra chave abstractabstractabstractabstract para 
qualificá-la como uma classe abstrata, 
impedindo de ser instanciada.
� Uma classeclasseclasseclasse abstrataabstrataabstrataabstrata pode declarar métodos 
abstratos
◦ Isso determina que tais métodos deverão ser 
sobrescritos pelas classes filhas. 
� 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
Classe Concreta
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9
Classe Abstrata
Classe Concreta
Fonte: Apostila Caelum, FJ-11 – Java e Orientação a objetos, cap- 9
� 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); 
Como 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”. 
implementa
� Programa 1:
◦ ClasseClasseClasseClasse: Pessoa 
◦ AtributosAtributosAtributosAtributos: nome, idade. 
◦ MétodoMétodoMétodoMétodo: void fazAniversario()
� Crie uma pessoa, coloque seu nome e idade 
iniciais, faça alguns aniversários (aumentando 
a idade) e sua idade;
� Programa 2
◦ Classe:Classe:Classe:Classe: Porta;
◦ Atributos:Atributos:Atributos:Atributos: aberta, cor, dimensaoX, dimensaoY, 
dimensaoZ;
◦ Métodos:Métodos:Métodos:Métodos: void abre(), void fecha(), void pinta(String 
s), boolean estaAberta();
� Crie uma porta, abra e feche a mesma, pinte-
a de diversas cores, altere suas dimensões e 
use o método estaAberta() para verificar se 
ela está aberta.
� Programa 3
◦ ClasseClasseClasseClasse: Casa 
◦ AtributosAtributosAtributosAtributos: cor, porta1, porta2, porta3 
◦MétodosMétodosMétodosMétodos: void pinta(String s), int
quantasPortasEstaoAbertas()
� Crie uma casa e pinte-a. Crie três portas e 
coloque-as na casa; abra e feche as mesmas 
como desejar.Utilize o método 
quantasPortasEstaoAbertas() para imprimir o 
número de portas abertas.

Continue navegando