Академический Документы
Профессиональный Документы
Культура Документы
Desenvolvimento de Sistemas
Bauru
05/2020
Pesquisar e descrever seu entendimento sobre: Classes, Objetos, Programação Orientada a Objeto,
Variáveis, Métodos, Encapsulamento, Execução de aplicação e Instalação. Procure exemplificar
quando possível. O livro base está postado no material de aula o capítulo 4 é a parte que mais
exemplifica alguns destes itens.
Classe
2
4
5}
Note que também é possível especificar o modificador de acesso. Por meio dele
informamos a visibilidade da classe, que pode ser public, private ou default.
2
5
6 public Produto() {
7
1 }
0
1
4
Este exemplo apresenta o código da classe Produto. Como foi declarada como public,
poderá ser utilizada por todas as classes do projeto. Além disso, ela possui dois atributos
(nome e quantidade), um construtor sem argumentos e um método.
Como utilizar
Para utilizar uma classe devemos declará-la da mesma maneira que se declara uma
variável de tipo primitivo. Declaramos o tipo (neste caso o nome da classe) seguido pelo
nome da variável.
Exemplo de instanciação de classe:
1Produto produtoUm;
3produtoUm.apresentarProduto();
public class Cachorro{
public String nome;
public float peso;
public float altura;
public String cor;
void pular {
if (altura >= 80){
System.out.println(“Seu cachorro pula
alto”);
}
if (altura < 80 || altura >= 50{
System.out.println(“Seu cachorro pula
normalmente”)
}
else{
System.out.println(“Seu cachorro pula
baixo”)
}
Programas grandes são difíceis de manter – por isso, é um bom hábito separá-los em
unidades mais ou menos isoladas. Em Java, isso é feito utilizando objetos, que são
compostos por atributos e métodos definidos a partir de classes, que por sua vez são
organizadas em pacotes. Esses conceitos são tão centrais em Java que não se pode
programar na linguagem sem utilizá-los.
Esta abordagem era ineficiente para grandes programas, com muitas de funcionalidades.
Para tentar solucionar isso, uma maneira diferente de programar foi proposta: os
softwares não seriam mais vistos apenas como instruções alterando recursos, mas sim
como vários pedaços, pequenos softwares trabalhando em conjunto para alcançar o
objetivo. Os programas não seriam mais pensados como receitas, mas sim como carros
e empresas: várias peças, relativamente independentes e fáceis de trocar, exerceriam
tarefas complicadas isoladamente, sendo coordenadas de modo que o resultado final
fosse uma máquina fácil de dirigir, ou uma organização eficiente. Assim como o
operário que põe o motor na carroceria não precisa compreender seu funcionamento
interno, e a secretária não precisa saber dos detalhes do setor de marketing, o
programador poderia se concentrar em uma parte do programa, sabendo que as outras
partes poderiam ser escritas depois, ser feitas por outros programadores ou até mesmo
compradas. O “programa como uma receita” ainda estaria nessas partes (assim como o
motor do carro segue uma série de passos, e o funcionário uma série de procedimentos),
mas essas “receitas” seriam menores, mais fáceis de entender, alterar e substituir,
podendo haver em uma só parte vários “modos de preparo”.
Variáveis
1int numero;
2String nome;
Neste código informamos que a variável numero é do tipo inteiro e, por isso, só poderá
receber valores desse tipo. O mesmo comportamento é válido para a variável nome do
tipo String.
Nomeação de variáveis
1. Pode conter letras, números e o caractere sublinhado (_), mas não pode começar
com um número;
2. Devem ser declaradas em minúsculo. Caso sejam nomes compostos, a primeira
letra de todas as palavras, menos da primeira, deve ser maiúscula (Camel Case);
3. Java é uma linguagem case sensitive. Assim, numeroUm é diferente
de numeroum.
1int nome123;
2float _salarioBase;
Variáveis de classe
Ao declarar uma variável dentro de uma classe, antes do tipo também podemos
especificar o modificador de acesso.
1class Funcionario {
2
5
6}
Métodos
//Corpo do método
Modificadores de Acesso
protected : Atributos e métodos definidos como protected são acessíveis pelos métodos
da própria classe e pelas classes derivadas.
private : É o mais restritivo. Atributos e métodos declarados como private só podem ser
acessados pelos métodos da própria classe. Quando nenhum modificador é definido
(acesso do tipo “package”), os atributos e métodos podem ser acessados pelos métodos
da própria classe, pelas classes derivadas e por qualquer outra classe dentro do mesmo
pacote. É importante destacar que esse controle não se aplica às variáveis locais aos
métodos.
Nome de Métodos
O nome de um método deve começar com uma letra (a-z/A-Z), um underscore (_), ou
um sinal de dólar ( $ ). Os caracteres subsequentes podem incluir os dígitos de 0 a 9.
Convenção : Use verbos para nome de métodos. Faça a primeira letra do nome
minúscula com cada letra inicial interna maiúscula.
Por exemplo :
getUserName(),
getMaxPrice().
Argumentos
Um método pode ter zero ou mais argumentos (ou parâmetros). Caso não tenha
argumentos, é necessário informar os parênteses vazios tanto na definição como na
chamada do método. O nome do método acrescido de seus parâmetros é
denominado assinatura do método.
Cada argumento deve ser declarado como define-se uma variável, especificando o seu
tipo e nome.
Caso seja mais de um argumento, cada declaração deve estar separada por vírgula.
age = newAge;
}
//exemplo a
System.out.println(“Age is : ” + age);
//exemplo b
age = newAge;
name = newName;
//exemplo c
return age;
}
public String getName () {
return name;
O comando return é utilizado para passar o valor requerido de volta para quem chamou
o método e é obrigatório quando o tipo de retorno não é void. Ele deve receber um
único valor ou uma expressão que deve ser compatível com o tipo de retorno
especificado para o método. Quando o comando é encontrado, o método termina sua
execução imediatamente, ignorando todas as instruções subsequentes. Um comando
return sem valor de retorno retorna o tipo void, mas não é obrigatória sua utilização
nestes casos.
num++;
System.out.println(“num : ” + num);
// veja agora
Passando a Referência de um Objeto : Quando o tipo passado para o método não for um
primitivo mas sim um objeto, esse comportamento muda. Quando passamos um objeto,
uma referência ao objeto original é passada ao invés de uma cópia do objeto.
O Java é mais purista em relação à orientação a objetos que Delphi, portanto não
existem “funções” perdidas, cada método esta hierarquicamente ligado a uma classe,
portanto você sempre irá acessar um método através:
Classe.Método() ou Objeto.Método
Para os métodos estáticos não é necessário instanciar um objeto para usá-lo, já nos
outros casos, a funcionalidade do método só é possível após instanciação, que é a
criação de um objeto a partir da sua classe.
Integer.parseInt()
String.charAt()
String.length(),
entre outros.Podemos criar nossos próprios métodos e já temos feito isso nos exemplos,
já que código funcional em Java sempre esta dentro de métodos. O método main que
recebe o argumento String[] args tem sido utilizado em todos os exemplos, porém
podemos dividir, modularizar mais ainda, distribuído a lógica em outros métodos.Até
aqui os exemplos têm sido pequenos, imagine algo maior, com várias tarefas agregadas,
cada um com seu escopo natural, neste contexto o uso de métodos se faz quase
imprescindível.O uso de métodos separa e organiza a lógica, além disso, tratar
problemas grandes, dividindo os mesmos em problemas menores é uma técnica bastante
efetiva.
Um método deve ser codificado dentro da classe a qual pertence, portanto estará entre
as chaves da classe. Um método em Java, tal como uma função retorna um valor, mas
alternativamente podemos dizer que ele retorna vazio (void), sendo, portanto somente
um procedimento. Vejamos a sintaxe básica para criação de um método:
<bloco-de-comandos>
public static – Permite criar um método que pode ser executado por agentes
externos, inclusive independente de instanciação.
private static – Como o nome sugere este método só é visível dentro da própria
classe onde foi definido e poderá ser executado diretamente sem necessidade de
instanciação.
UmTerco.java
double num;
return n/3;
Encapsulamento
Nível de classe: Quando determinamos o acesso de uma classe inteira que pode
ser public ou Package-Private (padrão);
Nível de membro: Quando determinamos o acesso de atributos ou métodos de
uma classe que podem ser public, private, protected ou Package-Private
(padrão).
Exemplo:
1private String atributo1 = new String();
2private String atributo2 = new String();
3public String getAtributo1(){
4 return this.atributo1;
5}
6public String getAtributo2(){
7 return this.atributo2;
8}
É aqui que a herança se torna uma ferramenta de grande utilidade. Podemos criar uma
classe Pessoa, que possui todos os atributos e métodos comuns a todas as pessoas e
herdar estes atributos e métodos em classes mais específicas, ou seja, a herança parte do
geral para o mais específico. Comece criando uma classe Pessoa, Pessoa.java, como
mostrado no código a seguir:
Observe que, em Java, a palavra-chave usada para indicar herança é extends. A classe
Aluno agora possui três atributos: nome, idade e matricula. Exemplo:
1
2
public class Estudos{
3
public static void main(String args[]){
4
Aluno aluno = new Aluno();
5
aluno.nome = "Aluno Esforçado";
6
aluno.idade = 20;
7
aluno.matricula = "XXXX99999";
8
9
System.out.println("Nome: " + aluno.nome + "\n" +
1
"Idade: " + aluno.idade + "\n" +
0
"Matrícula: " + aluno.matricula);
1
}
1
}
1
2
Figura 2: O compilador cria bytecodes que são armazenados com a extensão .class.
Os bytecodes são executados pela Java Virtual Machine (JVM) - uma parte do JDK e a
base da plataforma Java. A Máquina Virtual (Virtual Machine - VM) é um aplicativo
software que simula um computador, mas oculta o sistema operacional e o hardware
subjacente dos programas que interagem com ela, o que garante a possibilidade de
execução de programas Java em vários sistemas operacionais distintos.
Independentes de plataforma
Portáveis
Etapa 5: Execução
Figura 5: A JVM faz a leitura dos bytecodes e compila para uma linguagem de
computador
Instalação
3
4 - Copiar o arquivo de instalação para o diretório de sua preferência com o comando
5 abaixo
6
8
1
0 $ cd /<caminho-completo-do-seu-diretório>
1
1
- Descompactar o arquivo
1
2
$ tar -zvxf jdk-<versão>.tar.gz
1
3
Outra maneira de instalar o JDK no Linux é usando o programa apt-get presente nas
distribuições Linux. O apt-get é um programa que permite a instalação e a atualização
de pacotes (programas e bibliotecas) de maneira simples e fácil. A Listagem 2 mostra
como instalar o JDK usando o apt-get.
2
http://www.cin.ufpe.br/~if101/turmaatual/aulas/aula3/objetos.html
http://www.devmedia.com.br/introducao-a-programacao-orientada-a-objetos-em-
java/26452
http://www.caelum.com.br/apostila-java-orientacao-objetos/orientacao-a-objetos-
basica/#4-3-uma-classe-em-java
http://www.ic.unicamp.br/~cmrubira/aacesta/java/javatut9.html
https://www.devmedia.com.br/
Livro: Livro4_alta.pdf