Escolar Documentos
Profissional Documentos
Cultura Documentos
Orientado a Objetos
Apostila
Quem Somos
A escola Coti Informática é hoje uma fábrica de inserir
alunos no Mercado de Trabalho.
Coti Informática.
Aqui o aluno é tratado como aluno.
Orientado a Objetos
Herança e Polimosfismo
Lição 1
Introdução
ao Java
Muito hoje em dia é falado sobre Java e toda a revolução
que ele vem provocando no way-of-life de
programadores, analistas e internautas. Mas o que é
Java, afinal? Quais são suas origens e seus propósitos?
De onde vem todo esse sucesso?
Comentários Adicionais
O porquê de utilizar o Java ? apesar de ser feito para web, ele possui
robustez para trabalhar com 3d, aplicações matemáticas, redes, pode criar
compiladores e até aplicações locais como java swing.
Importante Conhecimento
Para utilizar o Java primeiro é necessário a instalação do jdk, depois a Ide que você irá utilizar,
por exemplo Netbeans ou Eclipse.
No momento em que instalo o jdk (que é o compilador, ele também instala a máquina virtual
Java JVM que é o seu interpretador ele roda os arquivos .class) O JVM é independente a
plataforma pois ele fica em uma camada superior a S.O., como ele não afeta o Sistema
Operacional qualquer plataforma o executa (Windows, Linux, Mac) .
A IDE é utilizada para ajudar na programação, ela possui compilação dos códigos na própria
linha quando os dados forem digitados mostrando o erro ou não, possui o teste de código, e
possui um depurador para verificar onde e como ocorreu o erro .
• O Mercado de trabalho utiliza muito o Java, logo um grande programador não ficará
nunca desempregado (estamos no ano 2010).
Pode-se implementar uma JVM para qualquer plataforma assim temos que um mesmo programa
Java pode ser executado em qualquer arquitetura que disponha de uma JVM.
Construindo sua
primeira aplicação
Java na IDE NetBeans
Primeiro você deverá instalar o JDK (Kit de desenvolvimento Java) e, em seguida a IDE
(Ambiente integrado de desenvolvimento) que desejar utilizar para desenvolver seus programas
Desmarque também a opção criar classe principal, pois isto será feito em
seguida nos próximos passos.
Seu projeto será exibido ao lado esquerdo, o diretório que você utilizará para criar seus
arquivos de código-fonte (Classes) chama-se “Pacotes de Código-Fonte”.
Para criar uma Classe, antes é necessário que você crie um pacote. Pacotes são
utilizados para armazenar Classes (arquivos .java) para criar um pacote clique com o
direito em pacotes de código-fonte e scolha a opção novo / pacote java.
Para criar uma Classe dentro do pacote, clique com o direito no pacote e
selecione novo / classe java
Será exibido um escopo do arquivo com o principal para considera-lo como Classe.
Defina dois atributos na Classe (apenas para teste, pois os conceitos de Orientação a
Objetos serão exemplificados melhor adiante)
package aula;
Para executar a Classe Aluno, será necessário a criação de uma Classe principal
(chamada de Main). Para tal, clique com o direito no pacote aula e selecione novamente
novo / classe java
Para que esta Classe deja utilizada para executar a aplicação é necessário a criação de
um método chamado main. Este método é utilizado pelo compilador para rodar sua
aplicação.
Mais adiante, será abordado com mais profundidade o uso deste método, por enquanto,
basta cria-lo conforme a seguir:
Para fazer com que a Classe Aluno torne-se objeto, digite o código abaixo:
Através do objeto criado “a” podemos utilizar os atributos definidos na Classe Aluno, por
exemplo atribuir valor a estes:
Pronto! Você está apto para acompanhar o restante deste material utilizando a IDE
NetBeans
Lição 2
Principais conceitos de
orientação a objetos
Java é uma linguagem orientada a objetos e, com isso,
não é possível desenvolver nenhum programa sem seguir
tal paradigma.
Classes são programa que possuem um nome em caixa alta, que acompanham o nome do
arquivo, quando a classe for public, a classe representa a regra de negócio que o seu nome irá
mencionar, por exemplo : Se a classe for Pessoa você não poderá fazer programas matemáticos
dentro da classe Pessoa, o nome deve possuir uma coesão com a programação, dentro da classe
pessoa você deverá ter programas que irá representar o nome
Atributos
Ela possui dois atributos, que são “variáveis” globais de
uma classe” todos os subprogramas (métodos) irão
visualizar o nome e o email, eles são privates,
Ou seja outras classes não irão visualiza-los, eles estão
fechados para outras classes, mais sempre serão visíveis a
própria classe
Métodos
São subprogramas das classes, setNome(parametro), getNome(), setEmail(parametro),
getEmail(). Todo método possui parênteses frise sempre isso.
Repare que no método set ele é sempre criado com o void, que significa sem retorno, e o
método getNome() ele criado com o tipo do atributo o nome foi criado que foi o String.
Atributos (Variáveis)
Qualificadores
Qualificador podem ser (public, protected, private, default (em branco))
private - Significa fechado para todas as classes, nenhuma classe irá ter
acesso ao atributo do tipo private,
char letra ;
// A letra é do tipo default fechado no pacote
Identificadores
Primeiro os primitivos:
Inteiros
byte - menos 2 elevado 7 até 2 elevado a 7 -1 (Exemplo -128 a 127)
short - menos 2 elevado 15 até 2 elevado a 15 -1
int - menos 2 elevado 31 até 2 elevado a 31 -1
long - menos 2 elevado 63 até 2 elevado a 63 -1
Reais ou flutuantes
float - menos 2 elevado 31 até 2 elevado a 31
double - menos 2 elevado 63 até 2 elevado a 63
Texto
String - representa qualquer tipo de caracter, ele não é do tipo primitivo porque
é uma classe que vem do pacote java.lang; que já vem interno ao java
char - representa um caracter
Booleano
boolean - representa true ou false
Tipo Global
Object - Classe representa qualquer tipo de dado, pode ser número, String,
data, qualquer tipo de classe desejada.
Operadores
Observação:
Repare que...
O Método getNome() foi declarado como String pois ele irá retornar o atributo
Nome que foi declarado como String, o get é do mesmo tipo do Atributo, ele
representa o próprio atributo (Ele é o método de Saída, de retorno)
Exemplo :
this.nome = parâmetro;
tradução: atributo da classe nome recebe o parâmetro.
É o método que inicia a execução do programa Java. Ele chama todos os demais métodos de
outras classes. É o método que é visto inicialmente pelo Java Local e sugere-se que seja o
primeiro método a ser procurado quando se lê um programa Java, assim como a classe “Main”
deve ser a primeira classe a ser procurada.
Para executar Pessoa é necessário uma Classe que que contenha um método padrão que
representa a execução de um programa escrito em Java. Este método é chamado de main.
Exemplo:
p.setNome(”Belem”);
p.setEmail(“belem@gmail.com”);
System.out.println(p.getNome());
System.out.println(p.getEmail());
}
}
É como se a “main” fosse um chefe. O chefe pode realizar tarefas, mas não deve fazê-lo quem
deve fazer são seus subordinados, neste caso, os métodos de outras classes.
Lembre-se que Java é "case sensive", ou seja, o fato de a letra ser maiúscula e minúscula faz
diferença. "Main" e "main" são coisas distintas, o primeiro é classe principal e o segundo método
principal.
Entendo melhor
os objetos
Um objeto é como se fosse um clone ou uma cópia da classe. No programa de referência veja as
seguintes instruções: Pessoa p = new Pessoa() . O new (novo, se refere a um novo
objeto) faz a chamada do construtor Pessoa() ao mesmo tempo em que cria um objeto
baseado na classe Pessoa. Tudo o que você precisa entender é que p é como se fosse uma cópia
da classe Pessoa e, portanto, p tem todos atributos e métodos advindos da classe Pessoa.
Vamos supor um livro que tenha espaços em branco para serem preenchidos. Ninguém vai usar
o livro original até porque fazer um livro original dá muito trabalho, por isto, vai para prensa o
molde original para fazer cópias.
Se o livro cópia, como é o caso, tem espaços em branco para serem preenchidos pelos alunos,
cada exemplar poderá assumir uma forma diferente, pois diferentes alunos preencherão os
espaços em branco (como se cada cópia assumisse um novo estado) e cada aluno fará o que
quiser com seu exemplar, desde que o livro original ofereça este recurso, pode-se ler somente
os capítulos que lhe interessa e fazer os exercícios que estão disponíveis que o professor
mandou. Assim também é o objeto, teve uma forma original advinda da classe, mas pode ser
usado como quiser pelo usuário.
Lição 3
Encapsulamento e
herança
Criando sua
primeira aplicação
Java na IDE Eclipse
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galile
o/SR2/eclipse-jee-galileo-SR2-win32.zip
Não é necessário fazer a instalação do Eclipse. Basta apenas descompactá-lo e executálo através
do arquivo eclipse.exe
Ao abrir o eclipse será necessário informar qual o diretório de trabalho a ser utilizado pela IDE.
Este diretorio e chamado de workspace e irá armazenar os projetos e configurações realizados
no Eclipse
Para criar um novo projeto, selecione a opção file / new / java project
Para criar um novo pacote, clique com o direito em src e depois em new / package coloque o
nome de aula
Para encapsular os atributos, clique com o direito na classe depois em source / generate getters
and setters. Marque todos os atributos que serão encapsulados e dê ok
package aula;
Para criar a Classe Main, dê um direito sobre o pacote aula de depois new / class
Ao criar a Classe você já pode marcar a opção de incluir o método static void main conforme
abaixo:
package aula;
System.out.println(p.getNome());
System.out.println(p.getIdade());
}
}
Para executar a Classe Main, clique com o direito sobre ela e depois run as / java
application
A solução é criar métodos que recebam os valores das variáveis ou mandem valores para
variáveis e só trabalhar com eles. Além disso, os métodos podem ser tratados e modificados
sem alterar fundamentalmente as propriedades da variável. Os métodos passam a representar
os atributos como se tivessem uma "procuração" deles. Dois tipos de métodos são criados para
o encapsulamento um que começa com "get" que seria responsável por exibir os valores do
atributo e "set" seria responsável receber novos valores e repassá-lo para o atributo.
Veja o exemplo:
Ao tornarmos a classe em objeto, seus atributos (declarados como públicos) ficam acessíveis e
portanto, sem nenhum tipo de proteção contra algum tipo de dado inválido. Observe:
//Métodos de entrada
public void setNome(String nome){
this.nome = nome;
}
Observações importantes!
Os metodos declarados com prefixo set são utilizados para realizar a entrada de dados nos
atribuitos de forma que seu valor seja atribuido indiretamente.
Os metodos declarados com prefixo get são utilizados para realizar o retorno ou saída dos
valores dos atribuitos.
Desta forma qualquer tipo de regra de validação de entrada de dados ou saída de dados poderia
ser facilmente implementada nos métodos set e get tornando assim, os atributos protegidos e
garantindo a integridade e coerencia das informações armazenadas pelo objeto da classe.
System.out.println(f.getNome());
System.out.println(f.getSalario());
Herança
A herança é o primeiro e mais comum tipo de relacionamento existente entre classes. Podemos
representa-la da seguinte maneira:
Obs: Em Java não é permitido o uso de herança multipla, ou seja, uma classe filha
somente pode ter 1 única classe pai.
a.setNome(“Pedro”);
a.setSalario(4000.0);
a.setTipo(“Senior”);
p.setNome(“Joao”);
p.setSalario(5000.0);
p.setAmbiente(“Web”);
System.out.println(“Programador : ” + p.getNome());
System.out.println(“Salario : ” + p.getSalario());
System.out.println(“Ambiente : ” + p.getAmbiente());
Lição 4
Interfaces e
Polimorfismo
A palavra Polimorfismo vem do grego e significa muitas
formas. Em programação está relacionado a técnica de
colocar métodos diferentes com o mesmo nome para
realizar tarefas semelhantes. Nesta lição vamos aprender
a utilizar este conceito efetivamente!
Por exemplo:
Note que métodos declarados em interfaces não possuem corpo, apenas a sua
declaração ou assinatura.
Diz-se que uma classe implementa uma interface quando utiliza o operador
“implements”. Ao contrário da herança, uma Classe pode implementar várias interfaces
simultaneamente, desde que implemente todos os métodos contidos nas interfaces.
Exemplo:
Através do uso de interfaces, a execução do programa pode ser feita de uma maneira
mais flexível, por exemplo:
/*
* Todas as classes que implementarem desta interface deverão fornecer
* corpo para o método calcularFinanciamento
*/
}
Para praticar...
Vamos
Praticar
Este é momento em que você,
aluno, deverá colocar em
prática o que foi abordado nas
lições anteriores!
1. Crie um programa em Java que demonstre o uso de uma Classe Produto com
os atributos nome, marca e preco. Utilize encapsulamento para os atributos.