IBMR DL - Programação Orientada A Objetos
IBMR DL - Programação Orientada A Objetos
IBMR DL - Programação Orientada A Objetos
PROGRAMAÇÃO ORIENTADA A
OBJETOS
CAPÍTULO 1 – O QUE É
PROGRAMAÇÃO ORIENTADA A
OBJETOS E POR QUE VOCÊ PRECISA
SABER?
Handerson Bezerra Medeiros
INICIAR
Introdução
Quando falamos sobre desenvolvimento de software, sabemos que existem
diversas linguagens de programação disponíveis no mercado. Então, fica sempre a
dúvida: por que devemos escolher uma linguagem orientada a objetos? Esta é
uma pergunta muito comum, quando estamos aprendendo programação.
Atualmente, as linguagens mais utilizadas no mercado são orientadas a objetos,
como, por exemplo: Java, C#, C++, Python e Ruby. Quando sabemos aplicar os
conceitos do paradigma da orientação a objetos, nossa programação fica mais
funcional, pois conseguimos um nível de abstração muito eficaz.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=tRI… 1/35
23/02/2022 20:12 Programação Orientada a Objetos
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=tRI… 2/35
23/02/2022 20:12 Programação Orientada a Objetos
Tanto a PE, como a POO, possuem seus pontos altos e baixos, porém a orientada a
objetos tem sido identificada como o paradigma de programação de preferência
dos desenvolvedores. Vamos entender um pouco o porquê de isso acontecer?
resultado a soma. Dessa forma, toda vez que precisarmos realizar alguma soma
em nosso programa, em vez de reescrever as mesmas instruções, podemos
apenas chamar a função que foi criada para fazer soma. Podemos dizer que a PE
nada mais é do que um passo a passo (sequência lógica), para criarmos nosso
programa. Então o que é uma programação orientada a objetos? Vamos descobrir!
VOCÊ O CONHECE?
Um dos principais pesquisadores a desenvolver os conceitos de POO, foi o cientista Alan Kay, um dos
criadores da linguagem Smalltalk. Enquanto trabalhava em suas pesquisas, Alan teve a ideia de que
poderíamos construir um programa usando conceitos e abstrações do mundo real, como objetos e
troca de mensagens. A ideia lhe valeu o Prêmio Turing, em 2003. O principal questionamento que o
levou a esses conceitos foi: como seria um sistema de software que funcionasse como um ser vivo? A
partir disso, ele começou a ter ideias sobre um sistema de software, fazendo uma comparação com o
sistema de seres vivos (FURGERI, 2015).
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=tRI… 4/35
23/02/2022 20:12 Programação Orientada a Objetos
VOCÊ SABIA?
Devido à evolução constante das tecnologias em softwares e hardwares, podemos
fazer, a cada dia, programas mais complexos. Os problemas resolvidos pela
máquina nos ajudam a diminuir o esforço repetitivo e tedioso que antes eram
realizados pelo homem (FONSECA FILHO, 2007). Quer saber mais? Recomendamos
o artigo: <http://www.pucrs.br/edipucrs/online/historiadacomputacao.pdf
(http://www.pucrs.br/edipucrs/online/historiadacomputacao.pdf)>.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=tRI… 5/35
23/02/2022 20:12 Programação Orientada a Objetos
1.1.3 PE vs POO
Vimos, até agora, que podemos escolher entre dois tipos de programação:
Estruturada ou Orientada a Objetos. Mas, para escolher qual delas usar na
programação, precisamos entender um pouco mais sobre suas diferenças.
Sabemos que na Programação Estruturada, construímos procedimentos ou
funções que serão aplicados de maneira global no nosso programa (figura a
seguir).
Figura 1 -
Modelo de interação de uma Programação Estruturada, no qual os procedimentos e funções agem nos
dados globais do programa. Fonte: Elaborada pelo autor, 2018.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=tRI… 6/35
23/02/2022 20:12 Programação Orientada a Objetos
Figura 2
- Modelo de interação de uma Programação Orientada a Objetos, no qual cada objeto diferente
compartilha os mesmos métodos, se forem da mesma classe. Fonte: Elaborada pelo autor, 2018.
Vamos entender com um exemplo prático? Um dos exemplos mais clássicos sobre
PE e POO é sobre o passo a passo para trocarmos uma lâmpada. Pare e analise
rapidamente quantas etapas são necessárias para realizar esta atividade.
Pensando de maneira estruturada e sucinta, podemos enxergar 12 passos para
trocar uma lâmpada (quadro a seguir). Não se preocupe se você imaginou mais ou
menos etapas, isso é natural, pois podemos chegar na mesma solução de maneira
diferente.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=tRI… 7/35
23/02/2022 20:12 Programação Orientada a Objetos
Quadro 1 - Exemplo lógico de uma troca de lâmpada utilizando o paradigma de programação estruturada.
Fonte: Elaborado pelo autor, adaptado de DEITEL; DEITEL, 2016.
Agora, vamos pensar em como resolver este mesmo problema, mas de maneira
orientada a objetos. Sabemos que precisamos identificar o que são os objetos e
quais são suas características (quadro a seguir). Neste caso, podemos identificar
que lâmpada é um objeto e que algumas de suas características seriam: inteira ou
quebrada.
Quadro 2 -
Exemplo lógico de uma troca de lâmpada utilizando o paradigma de Programação Orientada a Objeto.
Fonte: Elaborado pelo autor, adaptado de DEITEL; DEITEL, 2016.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=tRI… 8/35
23/02/2022 20:12 Programação Orientada a Objetos
tipoDaVariavel nomeDaVariavel;
Por exemplo, se quisermos criar uma variável para guardar a idade do usuário,
podemos chamar de idade e ela será do tipo inteiro (int). E uma outra variável,
para guardar o nome do usuário, poderia ser nome e do tipo texto (string).
Portanto, essas variáveis só poderão receber valores desse tipo.
int idade;
String nome;
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=tRI… 9/35
23/02/2022 20:12 Programação Orientada a Objetos
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 10/35
23/02/2022 20:12 Programação Orientada a Objetos
Figura 3 - Exemplo dos possíveis valores que podem ser armazenados nos tipos de variáveis
disponibilizados na linguagem. Fonte: Elaborada pelo autor, 2018.
Quando declaramos uma variável, dentro da classe e fora dos métodos, podemos
atribuir mais uma especificação antes de informar o tipo e seu nome. Podendo
ser: private, public ou protect. Se declararmos como private significa que a única
classe que pode ter acesso aquela variável é a própria variável que a declarou. Já o
atributo public, se declarado junto com a variável, significa que todas as classes
podem ter acesso àquela variável.
problema de consumir muita memória e precisar reescrever o código, quando muda o sistema
operacional (ZANETTE, 2017). Quer conhecer mais a linguagem Java? Acesse:
<https://becode.com.br/java-linguagem-programador-rico/ (https://becode.com.br/java-linguagem-
programador-rico/)>.
Por fim, se quiser que a variável esteja disponível apenas para as classes nas quais
a variável foi declarada, ou são do mesmo pacote, é só colocar o atributo
protected. Mas não se preocupe, isso será melhor detalhado nos próximos tópicos.
1.2.2 Casting
pesar de termos várias opções de tipo de variáveis, precisamos ter muito cuidado
quando formos decidir por seu tipo. Pois, alguns valores são incompatíveis, caso
você tente fazer alguma atribuição direta.
Sabemos que podemos fazer atribuições diretas, por exemplo:
Quadro 3 - Possíveis conversões em Java, verificando as conversões que são automáticas e qual tipo tem
prioridade. Fonte: Elaborado pelo autor, adaptado de MANZANO, 2014.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 14/35
23/02/2022 20:12 Programação Orientada a Objetos
if (idade >=18 && idade < 60) { //comando de verificação do valor da idade
System.out.println(“Idade entre 18 a 60 anos!”); / /executado se a condição for true
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 16/35
23/02/2022 20:12 Programação Orientada a Objetos
} else {
System.out.println(“Usuário é menor de idade!”); // executado se a condição for false
}
int idade;
idade = 2;
switch(idade) { //expressão válida de entrada do comando
case 1:
System.out.println(“Idade é igual a 1”);
break; //comando que finaliza o switch se case 1 for verdade
case 2
System.out.println(“Idade é igual a 2”);
break;
case 3:
System.out.println(“Idade é igual a 3”);
break;
default: System.out.println(“O valor não é 1, 2 ou 3”); //se nenhum case for verdade,
será executado a instrução que existe no default
}
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 17/35
23/02/2022 20:12 Programação Orientada a Objetos
Podemos nos deparar com situações, nas quais é necessária uma verificação de
vários valores de uma variável, e, para cada verificação, é realizado o mesmo bloco
de instruções. Ou seja, precisamos criar um laço de repetição, e para isso
precisamos criar uma variável que ficará responsável por contar o número de
interações. O laço mais comum é o comando for. Este comando apresenta uma
estrutura, na qual nossa variável de controle (aquela que conta as interações,
expressão 2) precisa ser informada de como inicializará o laço (expressão 1) e
finalizar, enquanto aquela condição de verificação for true. A sua estrutura básica é
simples.
Por exemplo, vamos criar uma instrução utilizando for para um programa onde
seja impresso os números de 1 a 10.
int contador;
for (contador = 1; contador < = 10; contador++) {
System.out.println(contador);
}
Analisando o exemplo acima, percebemos que a primeira coisa que o comando for
realiza é inicializar nossa variável de controle com o valor 1 (contador = 1). Após
isso, é verificado se a condição retorna true (contador < = 10). Seu retorno sendo
verdadeiro, o bloco de instruções dentro do for é executado (ou seja, a impressão
do valor atual armazenado na variável contador). E por fim, é realizado o
incremento de +1 na variável contador (contador++), de modo que seja testado
novamente a condição. Enquanto a condição retornar true, o comando de
instrução é executado, fazendo com que ocorra um laço. Esse laço é interrompido
assim que a condição retornar false.
Podemos realizar laços pelo comando while. A estrutura base é a mesma do
comando for, porém a sequência de comandos é realizada de forma diferente.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 18/35
23/02/2022 20:12 Programação Orientada a Objetos
[expressão 1]
while ([condição]) {
[bloco de instruções]
[expressão 2] //expressão responsável por alterar o valor do controle do laço
}
Então qual é a diferença entre for e while? Utilizamos o comando while quando não
sabemos a quantidade exata de interações que deve existe, ou seja, quantas vezes
o laço deverá ser executado. Por exemplo, enquanto a variável número for
diferente 5, o programa exibirá ao usuário “o número é menor que 5”. Veja como é
simples.
int numero = 0;
while (numero != 5) {
System.out.println(“O número é menor que 5”);
numero ++;
}
int numero = 0;
do {
System.out.println(“O número é menor que 5”);
numero ++;
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 19/35
23/02/2022 20:12 Programação Orientada a Objetos
Para finalizar o controle de fluxo, temos dois comandos especiais que podem nos
ajudar quando quisermos interromper ou continuar com um bloco de instruções.
Esses comandos são break e continue. Mas vamos pensar em outro exemplo,
digamos que queremos criar um laço que imprima os números inteiros
inicializando por 1 e podendo ir até 100. Sabemos que podemos utilizar o
comando for para criar essa repetição, ok? Porém, nosso programa exige que essa
interação deverá ser interrompida quando o número for 10, e agora? Para isso,
podemos usar nosso comando break.
int numero;
for (numero = 1; numero < = 100; numero++){
System.out.println(“Número válido”);
if (numero == 10) break;
}
O comando break pode ser utilizado em todos os laços de repetições que vimos
(for, while, do-while) como também nos comandos de decisão (if, switch-case). Já o
comando continue é utilizado somente por laços de repetição, pois quando
executamos este comando, nosso programa volta obrigatoriamente para o laço, a
fim de testar novamente a condição. Basicamente, o comando continue vai ignorar
o código e voltar para o laço, enquanto o comando break interrompe e sai do laço.
Por exemplo, queremos que nosso programa imprima os valores de 1 a 100, porém
não queremos que o número 10 seja impresso ao usuário. Para isso, utilizamos o
continue.
int numero = 0;
while (numero < 100){
numero++;
if (numero == 10) continue;
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 20/35
23/02/2022 20:12 Programação Orientada a Objetos
System.out.println(numero);
}
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 21/35
23/02/2022 20:12 Programação Orientada a Objetos
Visibilidadeclass NomeDaClasse{
//Seus atributos
//Seus métodos
}
Para entender melhor, vamos criar uma classe que represente as pessoas.
Inicialmente sabemos que precisamos criar um nome para essa classe (Pessoas),
logo após isso precisamos identificar quais atributos que são compartilhados
pelos objetos pessoas (nome, idade, peso, altura e gênero). Esses atributos são
variáveis que nossos objetos vão possuir, podendo ser declarada por qualquer
tipo (int, String e outros). Por fim, criamos nossos métodos que representam as
ações que são compartilhadas pelos objetos ‘pessoas’ (andar, falar, comer). Ou
seja, quando o programa receber a mensagem contendo o nome de algum
método existente na nossa classe, aquela ação será executada no objeto
correspondente.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 22/35
23/02/2022 20:12 Programação Orientada a Objetos
}
public void comer(){
//ações do método comer
}
}
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 23/35
23/02/2022 20:12 Programação Orientada a Objetos
Figura 4 - Exemplo
de objetos diferentes que compartilham os mesmos atributos e métodos, pois são da classe Pessoa..
Fonte: Elaborada pelo autor, 2018.
Ou seja, a classe Pessoa não pode andar, falar e comer, ela apenas especifica e
define a estrutura de como é uma pessoa. Mas os objetos criados que são do tipo
pessoa, poderão sim andar, falar e comer. Um outro exemplo entre classes e
objetos, seria os carros. Podemos definir uma classe carros, contendo os atributos
e comportamentos de qualquer carro. Porém, cada carro seria considerado um
objeto daquela classe, pois possuem informações diferentes.
Então, como é que se faz para criar um objeto? Para criarmos nosso objeto
precisamos instanciá-los no nosso programa. Para isso, fazemos o uso do
comando new para construímos o objeto na nossa classe principal, que vamos
chamar de Programa (main). Por exemplo, vamos instanciar um objeto do tipo
carros?
class Programa{
public static void main(String[] args){
Carros meuCarro; // variável meuCarro que é do tipo Carros
meuCarro = new Carros(); //criando um novo objeto
}
}
Após instanciado o novo objeto do tipo carros, podemos acessar este novo objeto,
por meio da variável meuCarro, e alterar seus atributos (marca, placa, cor e
anoDeFabricacao) e utilizar seus métodos (acelerar, frear, ligar e desligar).
class Programa{
public static void main(String[] args){
Carros meuCarro;
meuCarro = new Carros();
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 25/35
23/02/2022 20:12 Programação Orientada a Objetos
VOCÊ SABIA?
Um novo sistema criado a partir do Java EE traz estabilidade e transparência ao
complexo mundo das negociações de créditos financeiros no Brasil. O sistema
bancário brasileiro escolheu a linguagem Java, pois a plataforma Java para
aplicativos orientados a objetos proporciona transações escaláveis, de alto
desempenho e altamente seguros e confiáveis. Além de sua ampla popularidade
nos círculos bancários brasileiros, o Java EE foi a única plataforma que integra o
conjunto abrangente de APIs necessárias para um sistema tão complexo quanto o
C3; estes incluem o Java Message Service (JMS) e o Java Open Transaction Manager
(JOTM) (BILHARINHO, 2012).
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 26/35
23/02/2022 20:12 Programação Orientada a Objetos
Como podemos notar, o método set necessita que seja passado por parâmetro () o
valor que será atribuído ou modificado naquele atributo. Utilizamos o comando
this., para fazer referência ao atributo da classe dentro da qual se está executando,
porém, sua utilização é opcional.
Podemos criar métodos que executem um bloco de instruções e/ou retorne
alguma informação para o usuário. Por exemplo, vamos criar um método que
atribui uma idade futura do usuário, a partir da idade atual do usuário,
armazenando essas duas informações (idade atual e idade futura).
O método void que utilizamos, representa que esse método irá apenas realizar
uma alteração de informação nos atributos, e não retornará nenhuma mensagem
de volta para o usuário. E se o método precisa dar um retorno ao usuário? Em vez
de utilizarmos a palavra void, informaremos o tipo do valor de retorno daquele
método.
Por exemplo, vamos imaginar que o método idadeFutura recebe do usuário sua
idade atual e retorna ao usuário sua idade daqui a 10 anos. Sabemos que o tipo de
retorno da idade deverá ser do tipo inteiro.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 28/35
23/02/2022 20:12 Programação Orientada a Objetos
class Carros{
public int anoDeFabricacao;
public String marca;
E como fica nosso programa principal? Já sabemos que para instanciar um objeto
utilizamos a palavra new. Porém, se quisermos inicializar esse objeto com
atributos é só informa os valores em parêntese após a execução do new.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 29/35
23/02/2022 20:12 Programação Orientada a Objetos
public Carros(){
}
class Carros{
public int anoDeFabricacao;
public String marca;
Ou seja, nosso programa nos permite criar um objeto novoCarro sem nenhum
atributo inicial, como também um objeto outroCarro sendo inicializado com os
atributos de anoDeFabricacao e marca.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 30/35
23/02/2022 20:12 Programação Orientada a Objetos
CASO
Uma empresa de venda de automóvel decidiu desenvolver um programa para cadastro
e gerenciamento de seus clientes. O programa deve armazenar as seguintes
informações do cliente: nome, idade, contato e endereço. Obrigatoriamente, um
cliente quando criado deverá possuir, pelo menos, as informações de nome e idade.
class Clientes{
//Atributos
public String nome, endereco;
this.contato = contato;
return nome;
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 31/35
23/02/2022 20:12 Programação Orientada a Objetos
return idade;
}
public int getContatoDoCliente(){
return nome;
return endereco;
Clientes novoCliente;
novoCliente.setContatoCliente (1234567890);
novoCliente.setEnderecoCliente (“Rua Luis Sagrado, 147);
System.out.println(novoCliente.getNomeDoCliente());
System.out.println(novoCliente.getIdadeDoCliente());
System.out.println(novoCliente.getContatoDoCliente());
System.out.println(novoCliente.getEnderecoDoCliente());
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 32/35
23/02/2022 20:12 Programação Orientada a Objetos
Síntese
Chegamos ao final do capítulo. E com isso, iniciamos nossos conhecimentos sobre
programação orientada a objetos utilizando a linguagem de programa Java. Vimos
a importância de utilizarmos o paradigma de orientação a objetos, enxergando a
programação como o mundo real. Identificando seus objetos e classes, atribuindo
suas características e comportamento. E assim, podemos analisar nosso problema
de maneira mais eficaz e criarmos nosso programa com sucesso.
Neste capítulo, você teve a oportunidade de:
compreender os paradigmas que envolvem uma Programação
Estruturada e uma Programação Orientada a Objetos, identificando suas
similaridades e diferenças;
conhecemos a sintaxe e semântica que envolvem a linguagem de
programação Java, identificando conceitos de classe, objetos, atributos
e métodos e construtores;
construímos nossos primeiros programas em Java, de forma a analisar,
de maneira lógica, todo o fluxo do programa, com o auxílio de controles
de repetições;
aplicamos em exemplos práticos todos esses conceitos iniciais em
problemas de casos reais.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 33/35
23/02/2022 20:12 Programação Orientada a Objetos
Bibliografia
BILHARINHO, E. R. Utilizando Código Java em Banco de Dados Oracle. Revista
MundoJ, edição 51, janeiro-fevereiro, 2012. Disponível em:
<http://www.univale.com.br/unisite/mundo-j/artigos/51BDOracle.pdf
(http://www.univale.com.br/unisite/mundo-j/artigos/51BDOracle.pdf)>. Acesso
em: 14/08/2018.
DEITEL, P; DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson: 2016.
FONSECA FILHO, C. F. História da Computação: o caminho do pensamento e da
tecnologia. Porto Alegre: EDIPUCRS, 2007. Disponível em:
<http://www.pucrs.br/edipucrs/online/historiadacomputacao.pdf
(http://www.pucrs.br/edipucrs/online/historiadacomputacao.pdf)>. Acesso em:
14/08/2018.
FURGERI, S. Programação Orientada a Objetos. São Paulo: Érica, 2015
GUANABARA, G. Curso de Java #01 - História do Java - Gustavo Guanabara.
Canal Curso em Vídeo, YouTube, publicado em 2 de mar de 2015. Disponível em:
<https://www.youtube.com/watch?v=sTX0UEplF54
(https://www.youtube.com/watch?v=sTX0UEplF54)>. Acesso em: 14/08/2018.
MACHADO, H. Os 4 pilares da programação orientada a objetos. DevMedia, 2018.
Disponível em: <https://www.devmedia.com.br/os-4-pilares-da-programacao-
orientada-a-objetos/9264 (https://www.devmedia.com.br/os-4-pilares-da-
programacao-orientada-a-objetos/9264)>. Acesso em: 14/08/2018.
MANZANO, J. A. G.; COSTA JR., R. Programação de Computadores com Java. São
Paulo: Érica, 2014. 127p.
MARINHO, A. L. Programação Orientada a Objetos. São Paulo: Pearson Education
do Brasil, 2016. 167p.
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 34/35
23/02/2022 20:12 Programação Orientada a Objetos
https://student.ulife.com.br/ContentPlayer/Index?lc=XAvIRyY9IUqYUWVLCsu4nA%3d%3d&l=%2fg8esgHXRAkel7THhEmWbg%3d%3d&cd=t… 35/35