Documente Academic
Documente Profesional
Documente Cultură
Orientao a Objetos
Paradigma de programao Materializar o problema e envolvidos em objetos Abstrao do mundo real em objetos
Orientao a objeto
Principais conceitos Classe Objeto Atributo Mtodo Encapsulamento Herana Interface Classe Abstrata Polimorfismo
Orientao a Objetos
Classe a descrio de um grupo de objetos com propriedades similares (atributos), comportamento comum(operaes) , relacionamentos com outros objetos e semnticas idnticas.
Objeto Um objeto possui um estado, exibe um comportamento bem-definido e possui uma identidade nica Instncia da classe
Orientao a Objetos
Atributos Caractersticas Mtodos Responsabilidades
Orientao a Objetos
Encapsulamento Esconder os detalhes da implementao de um objeto
Orientao a Objetos
Herana um mecanismo existente no paradigma orientado a objetos que permite a reutilizao da estrutura e do comportamento de uma classe ao se definir novas classes; A herana tambm conhecida como relacionamento -um; A classe que herda o comportamento chamada de subclasse e a que definiu o comportamento superclasse.
Orientao a Objetos
Herana Mltipla
de Interfaces
Orientao a Objetos
Herana Extends
Classe Somente 1
Implements
Interface
Vrias
Orientao a Objetos
Interface Contrato Classe puramente abstrata Estabelece os contratos que devem ser seguido por todos os filhos
public interface Int1{...
Orientao a Objetos
Classe Abstrata No pode ser instaciada Deve possuir pelo menos 1 mtodo abstrato
public abstract class Class 1...
Orientao a Objetos
Polimorfismo a habilidade de variveis terem mais de um tipo. Assumir forma diferente
Cast (Class1) Class2 Sobrescrita Implementar um mtodo herdado de uma forma diferente
Colees
Classes e colees do pacote java.util Representam Listas, Conjuntos e Mapas Soluo flexvel para armazenar objetos ( arrays. Ex.
String[])
Menos eficiente que array
No aceita tipo primitivo
Colees
Colees
Colees
Colees
Principais interfaces de coleo List Set Principais mtodos boolean add(Object o): adiciona objeto na coleo boolean contains(Object) o boolean isEmpty() Iterator iterator(): retorna iterator boolean remove(Object o) int size(): retorna o nmero de elementos Object[] toArray(Object[]): converte coleo em Array
Colees - List
Vector ArrayList LinkedList Sincronizado X X Seqencial
Mtodos estticos importantes binarySearch(List list, Object key) - Busca um determinado elemento de uma lista em ordem crescente usando o algoritmo de busca binria sort(List list) - Ordena uma lista usando MergeSort
Colees - Set
Principais subclasses HashSet TreeSet
Colees Map
Chaves nicas Mtodos princiais
void put(Object key, Object value) Object get(Object key) Set keySet(): retorna um Set de chaves Collection values(): retorna uma Collection de valores
Sincronizado Ordenado Aceita null como chave
X X x
Conceito - Java
Java Linguagem de Programao Orientada a
Caractersticas
Principais Caractersticas:
Orientada a Objetos Portabilidade Recursos de Rede Segurana
Caractersticas
Alm disso, podem-se destacar outras vantagens apresentadas pela
linguagem:
Sintaxe similar a C/C++ Facilidades de Internacionalizao - Suporta nativamente caracteres Unicode Simplicidade na especificao, tanto da linguagem como do "ambiente" de
execuo (JVM)
distribuda com um vasto conjunto de bibliotecas (ou APIs) Possui facilidades para criao de programas distribudos e multitarefa (mltiplas
Conceito - Java
Principais distribuies do Java Standard Edition Aplicaes Desktop Enterprise Edition Aplicaes Corporativas Micro Edition Aplicaes Mveis (celulares, tablets, etc) Cada distribuio fornece um conjunto de APIs para o
desenvolvimento
Conceito - Java
Compilada para bytecodes e executado por uma mquina
virtual
Conceito - Java
Bytecode o cdigo de mquina que roda em qualquer
mquina atravs da Mquina Virtual Java (JVM) Texto contendo cdigo escrito em linguagem Java traduzido em bytecode atravs do processo de compilao e armazenado em um arquivo *.class chamado de Classe Java
Conceito - Java
Maquina Virtual "Mquina imaginria implementada como uma aplicao de software em uma mquina real" [JVMS] A forma de execuo de uma aplicao depende:
da origem do cdigo a ser executado (remoto ou local) da forma como foi implementada a JVM pelo fabricante (usando
Conceito - Java
Class Loader Para carregar a aplicao seguindo os passos: 1. Carrega primeiro as classes nativas do JRE (APIs) 2. Depois carrega extenses do JRE: JARs em $JAVA_HOME/jre/lib/ext e classes em $JAVA_HOME/jre/lib/classes 3. Carrega classes do sistema local (a ordem dos caminhos no CLASSPATH define a precedncia) 4. Por ltimo, carrega possveis classes remotas CLASSPATH: varivel de ambiente local que contm todos os
classes do JRE (no possvel tirar classes JRE do CLASSPATH) Classes remotas so mantidas em rea sujeita verificao CLASSPATH pode ser redefinida atravs de parmetros durante a execuo do comando java
Conceito - Java
Bytecode Verifier Etapa que antecede a execuo do cdigo em classes carregadas atravs da rede
Class Loader distingue classes locais (seguras) de classes remotas
(potencialmente inseguras)
Verificao garante
Aderncia ao formato de arquivo especificado [JVMS]
No-violao de polticas de acesso estabelecidas pela aplicao No-violao da integridade do sistema Ausncia de estouros de pilha Tipos de parmetros corretamente especificados e ausncia de
Conceito - Java
Garbage Collector (Coletor de Lixo) Memria alocada em Java no liberada pelo programador
Ou seja, objetos criados no so destrudos pelo programador
Conceito - Java
Garbage Collector (Coletor de Lixo) Quando um objeto no tem mais referncias apontando para ele, seus dados no mais podem ser usados, e a memria deve ser liberada. O coletor de lixo ir liberar a memria na primeira oportunidade
JSDK
O JSDK (Java System Development Kit) o ambiente