Você está na página 1de 14

Programação Orientada a

Objetos em Java

Gilda Aparecida de Assis


gildaaa@ufop.edu.br
Por que Java?
Os maiores problemas quando se está programando em C são:
Ponteiros: Segmentation fault (core dumped)
Access violation, Memory Violation
Liberar memória: Memory low
Organização: Arquivos em uma única pasta
Falta de bibliotecas boas: jogos, processamentos de imagens, aprendizado
de máquina, redes, banco de dados, gráficos, código de barras, wireless,
segurança, mobile, wearable, Web
Reescrever parte do código ao mudar de sistema operacional ou
hardware: Celulares, handhelds, servidores, PCs, software embarcado
Dificuldade de manutenção, mudança ou extensão de programas
Java é a Solução?
Java tenta amenizar todos estes problemas:
Java não tem ponteiros
Java tem um garbage collector, que é responsável por jogar fora (liberar
memória) todos os objetos que não estão sendo referenciados
Java utiliza pacotes para agrupar classes de funcionalidade parecida em
diretórios/pastas (organização)
Java possui uma quantidade enorme de bibliotecas gratuitas, para realizar
diversos trabalhos (relatórios, gráficos, sistemas de busca, código de barra,
qrcode, XML, vídeo, texto, impressão,...)
Java utiliza o conceito de máquina virtual, onde uma camada entre o Sistema
Operacional(S.O.) e a aplicação “traduz” o que a aplicação deseja fazer para as
chamadas do S.O. (funciona em qualquer S.O.)
JDK (Java Development Kit) é gratuito, assim como as principais bibliotecas
Java e ferramentas e também os IDEs NetBeans e Eclipse.
Java é Orientada a Objetos, que facilita manutenção e extensão de programas
Vantagens de Java
Modularização
É a divisão do programa em componentes ou subsistemas, o mais
independente possíveis dos demais, ou seja, com contratos claros e
dependências bem estabelecidas de acordo com a necessidade de cada
aplicação.
O principal objetivo da modularização é gerenciar o desenvolvimento
de programas de grande porte. Com a subdivisão de programas
complexos em módulos, algumas vantagens são conquistadas como a
legibilidade (trechos de código mais simples), a manutenibilidade
(favorece a detecção e correção de erros e mudanças) e a
produtividade (facilita a reutilização de software).
Vantagens de Java
Abstração
Abstrair algo significa esconder os detalhes e se concentrar nos
aspectos essenciais de um determinado contexto, ou seja, ignorando
características menos importantes.
Um exemplo é o funcionamento de um carro. Quando ligamos o carro,
não precisamos saber quais passos ele faz para colocar o veículo em
funcionamento (verificações de água, óleo, bateria, cinto de segurança,
etc). Quando o freio é acionado, não precisamos saber todos os
mecanismos que são acionados para fazer o carro frear. Apenas
sabemos o que cada objeto ou função produz como resultado.
Vantagens de Java
Encapsulamento
Ele permite que certas características ou propriedades dos objetos de uma
classe não possam ser vistas ou modificadas externamente, ou seja, ocultam-
se as características internas do objeto. O encapsulamento protege os dados
que estão dentro dos objetos, evitando que eles sejam alterados
incorretamente. A única forma de alterar esses dados é por meio de funções
dos próprios objetos, que são chamadas de operações ou métodos.
História de Java
A Sun criou uma equipe (13 pessoas) para desenvolver inovações
tecnológicas em 1991.
Essa equipe foi liderado por James Gosling, o pai do Java.
Eles criaram um interpretador chamado Oak para pequenos
dispositivos, facilitando a reescrita de software para aparelhos
eletrônicos, como vídeo cassete e tv a cabo.
A idéia não deu certo, tentaram fechar contratos com fabricantes
como a Panasonic, mas não houve êxito.
Oak foi rebatizada para Java em 1995 focada em executar
pequenas aplicações no browser (applets).
Java decolou no desenvolvimento de aplicações do lado do
servidor (backend).
Como a equipe de desenvolvimento tomava muito café enquanto
trabalhava, o nome Java foi sugerido em homenagem à cidade de
origem de um café importado.
Compilar em outras linguagens
Linguagens de programação C, C++, Pascal,...
Código para
Windows 10

Código fonte Compilar Código binário para


um SO específico Código para
em C Linux

Código para
Windows Server

Temos um código executável para cada sistema operacional. É necessário compilar


uma vez para Windows, outra para Linux, etc...
O programa utiliza as bibliotecas do SO, como por exemplo, a interface gráfica para
desenhar as telas. É preciso reescrever o mesmo trecho para diferentes SOs.
Compilar em Java
Java utiliza o conceito de máquina virtual
Camada extra entre o SO e a aplicação, responsável por
“traduzir” o que a aplicação deseja fazer para as chamadas
do SO no qual ela está executando.

Compilar Máquina Virtual Java


Código (javac) Código Windows 10 (JRE)
fonte em bytecode
Máquina Virtual Java
Java Java
Windows Server
(*.java) (*.class)
(JRE)
Máquina Virtual Java JRE - Java Runtime
Linux (JRE) Environment

Dessa forma, a maneira como se abre uma janela no Linux ou no


Windows é a mesma: independência de sistema operacional.
Máquina Virtual Java
É um computador de mentira, ela tem tudo que um
computador tem.
É responsável por gerenciar memória, gerenciar threads,
pilha de execução, etc.
O programa Java executa sem nenhum acesso ao
sistema operacional.
O programa conversa apenas com a Java Virtual
Machine (JVM).
Se uma JVM termina abruptamente, só as aplicações
que estavam executando nela irão terminar. As outras
JVMs e o sistema operacional não serão afetados.
Instalação do Java Sem IDE – 1/2
Fazer o download
JRE = Java Runtime Environment, ambiente de
execução Java, formado pela JVM e bibliotecas, tudo
que é necessário para executar uma aplicação Java.
JDK = Java Development Kit. É o conjunto de
ferramentas necessárias para desenvolver aplicações
java. Inclui a JRE e as ferramentas de programação:
• javac – compilador
• jar – empacotador
• javadoc – ferramenta para geração de documentação
Instalação do Java Sem IDE – 2/2
Configurar variáveis de ambiente
Para tornar possível executar o compilador Java
e a máquina virtual de qualquer diretório.
Nos Windows: Iniciar Configurações  Painel
de Controle  Sistema  Avançado  Variáveis
de Sistema.
CLASSPATH=.
PATH=<o que ja estava antes>;c:\diretorioDeInstalacaoDoJava\bin
Instalação do Java Com IDE
IDE – Integrated Development Environment Eclipse
Código aberto.
O Eclipse foi iniciado pela IBM que desenvolveu a
primeira versão do produto e o fez sua doação como
software livre para a comunidade.
IDE Java mais utilizado no mundo.
Editor com sintaxe colorida.
Compilador: javac NomedoArquivo.java
Debug.
Run: java NomedoArquivo.class
O Eclipse cuida de tudo: classpath, compilação, escreve
código
Quando usar Java?
Aplicações de médio a grande porte, com vários
desenvolvedores e que pode vir a mudar e
crescer.
Aplicações sofisticadas, usando diversos
recursos (bibliotecas Java gratuitas), sem
precisar comprar um componente específico.
Plataformas (ambientes e sistemas operacionais)
heterogêneos.

Você também pode gostar