Baixe o app para aproveitar ainda mais
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.
Compartilhar