linguagem de programação java
TRANSCRIPT
![Page 2: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/2.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
A TECNOLOGIA JAVA
A TECNOLOGIA JAVA
![Page 3: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/3.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
• Originalmente criado para dispositivos embarcados.• Iniciou a partir Projeto Green em Junho de 1991 por James Gosling, Mike
Sheridan and Patrick Naughton.• Denominada inicialmente de Oak.• Desenvolvido por James Gosling na Sun Microsystems em 1995.• Em 1996 foi lançado a primeira versão do JDK 1.0.
• Premissas da Linguagem:• Sem ponteiros (todos ficamos felizes).• Independente de plataforma.• Recurso de garbage collector.• Alta confiabilidade.• Bytecodes.
HistóricoOrigens:
A TECNOLOGIA JAVA
![Page 4: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/4.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
A TECNOLOGIA JAVA
Fonte: http://viralpatel.net/blogs/java-virtual-machine-an-inside-story/
![Page 5: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/5.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
Tem como principal funcionalidade executar os bytecodes gerado a partir dos códigos Java, tornando a linguagem independente de plataforma. Além disso a JVM possui outras responsabilidades:
• Gerenciamento de memória.• Controle de threads.• Comunicação com o Sistema Operacional e acessar métodos nativos.• Pode executar outras linguagens além do Java como Groovy, Jython e JRuby.
JVMJava Virtual Machine:
A TECNOLOGIA JAVA
![Page 6: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/6.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
A TECNOLOGIA JAVA
Java Platform Standard Edition 7
Fonte: http://docs.oracle.com/javase/7/docs/index.html
![Page 7: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/7.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
ECLIPSE
ECLIPSE
![Page 8: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/8.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
ECLIPSE
• Desenvolvido inicialmente pela IBM.• Foi doado como software open-source.• Totalmente gratuita.• Ferramenta de desenvolvimento Java.• Também utilizada em outras linguagens de programação.• Baseada em Perspectivas.• Efetua a compilação, depuração e execução de um programa em Java.• Pode ser baixado do site:
• https://eclipse.org/
EclipseIDE:
Vamos conhecer alguns componentes do Eclipse.
![Page 9: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/9.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
ECLIPSE
EclipseSelecionando uma workspace:Local onde iremos colocar os nossos códigos fontes e projetos.
Diretório dos fontes
![Page 10: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/10.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseTela inicial:
ECLIPSE
![Page 11: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/11.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipsePerspectiva Java:
ECLIPSE
![Page 12: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/12.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando um Projeto:
ECLIPSE
![Page 13: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/13.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando um Projeto:
ECLIPSE
![Page 14: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/14.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando um Projeto:
ECLIPSE
![Page 15: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/15.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando um Projeto:
ECLIPSE
![Page 16: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/16.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando um pacote:
ECLIPSE
![Page 17: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/17.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando um pacote:
ECLIPSE
![Page 18: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/18.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando uma classe:
ECLIPSE
![Page 19: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/19.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando uma classe:
ECLIPSE
![Page 20: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/20.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando uma classe:
ECLIPSE
![Page 21: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/21.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
• Funcionamento de um programa Java.• Variáveis.• Condicionais.• Laços.• Vetores.• String.• Classes.• Interfaces.
JavaO que vamos estudar:
A TECNOLOGIA JAVA
Vamos começar !!!
![Page 22: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/22.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
BÁSICO DA LINGUAGEM
BÁSICO DA LINGUAGEM
![Page 23: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/23.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo01 {
public static void main(String[] args) {System.out.println("Olá Pessoal.
Tudo Bem?");}
}
![Page 24: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/24.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo02 {
public static void main(String[] args) {// É uma forma de criar comentários em linha.
System.out.println("Imprimindo na saida do console");System.err.println("Imprimindo na saida de erro do
console");System.out.print("Está forma não pula linha");System.err.format("Saida %s formatada", new
String("é"));System.out.format("Esta %s também é formatada", new
String("saida"));
// O método abaixo possui o conceito de varargsSystem.out.format("%s formatada %s vários %s",
new String("Saida"),
new String("com"),
new String("paramêtros"));
} }
![Page 25: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/25.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo03 {
public static void main(String[] args) {int varInt;double varDouble;float varFloat;long varLong;boolean varBoolean;byte varByte;short varShort;
varInt = 2015;varDouble = 768.35;varFloat = 3.14159265f;varLong = 250000000l;varBoolean = true;varByte = 8;varShort = 3;
System.out.println("int: " + varInt);System.out.println("double: " + varDouble);System.out.println("float: " + varFloat);System.out.println("long: " + varLong);System.out.println("boolean: " + varBoolean);System.out.println("byte: " + varByte);System.out.println("short: " + varShort);
} }
![Page 26: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/26.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo04 {
public static void main(String[] args) {double media = 0;double notaB1 = 5;double notaB2 = 6;
media = (notaB1 * 0.4) + (notaB2 * 0.6);
if (media >= 6) {System.out.println("Aprovado");
} else {System.out.println("Reprovado");
}
System.out.println(media >= 6 ? "Aprovado" : "Reprovado");
} }
![Page 27: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/27.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo05 {
public static void main(String[] args) {boolean ligar = true;if (ligar)
System.out.println("Ligado");
if (!ligar)System.out.println("Desligado");
float soma;float operador1 = 788.00f;float operador2 = 3.58f;
soma = operador1 + operador2;if (soma == 791.58f) {
System.out.println("Resultado da soma é " + soma);
}}
}
![Page 28: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/28.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo06 {
public static void main(String[] args) {String nomeGuerreiro = "Blackwall";String nomeMago = new String("Solas");
System.out.println("Guerreiro:" + nomeGuerreiro);System.out.println("Mago:" + nomeMago);System.out.println("Tamanho:" +
nomeGuerreiro.length());System.out.println("Tamanho:" + nomeMago.length());
if (!nomeGuerreiro.equals(nomeMago)) {System.out.println("Os nomes são
diferentes.");} else {
System.out.println("Os nomes são iguais.");}
nomeGuerreiro = nomeGuerreiro.toUpperCase();nomeMago = nomeMago.toLowerCase();
System.out.println("Guerreiro:" + nomeGuerreiro);System.out.println("Mago:" + nomeMago);
} }
![Page 29: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/29.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo07 {
public static void main(String[] args) {char linguagem[] = { 'J', 'a', 'v', 'a' };String java = "";
for (int i=0;i<=linguagem.length-1;i++) {java += linguagem[i];
}System.out.println("Linguagem " + java);
int notas[] = new int[2];notas[0] = 6;notas[1] = 7;
int i=0;while (i <= notas.length-1) {
System.out.println("Nota " + (i + 1) + ":" + notas[i]);
i++;}
boolean ligado = true;do {
System.out.println("Ligado");ligado = false;
} while (ligado);}
}
![Page 30: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/30.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo08 {
public static void main(String[] args) {Integer varInt = 2015;Double varDouble = 768.35;Float varFloat = 3.14159265f;Long varLong = 250000000l;Boolean varBoolean = true;Byte varByte = 8;Short varShort = 3;
System.out.println("int: " + varInt);System.out.println("double: " + varDouble);System.out.println("float: " + varFloat);System.out.println("long: " + varLong);System.out.println("boolean: " + varBoolean);System.out.println("byte: " + varByte);System.out.println("short: " + varShort);
String valor = "100";varInt = Integer.parseInt(valor);
System.out.println("Valor convertido:" + valor);
}
}
![Page 31: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/31.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; import java.util.Scanner; public class Exemplo09 {
public static void main(String[] args) {double notaB1;double notaB2;double media;Scanner scanner = new Scanner(System.in);
System.out.println("Digite a nota da B1:");notaB1 = scanner.nextDouble();
System.out.println("Digite a média:");media = scanner.nextDouble();
notaB2 = (media - (notaB1*0.4)) / 0.6;System.out.println("Nota necessária para
aprovação:" + notaB2);
scanner.close();}
}
![Page 32: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/32.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
![Page 33: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/33.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
ConceitosDetalhes:• Classe: é um tipo que possui uma representação. Contém atributos e
métodos.• Objeto: é a instância de uma classe e a concretização real e funcional de
suas funcionalidades.• Instância: alocando um objeto na memória.
![Page 34: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/34.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
ConceitosExemplos:• Herói seria uma classe, pois é um tipo.• Capitão América é o objeto pois ele é um Herói.• Instância é o próprio objeto Capitão América.
• Pessoa também é um tipo.• Steve Rogers é o objeto pois ele é uma Pessoa.• Instância é o próprio objeto Steve Rogers.
![Page 35: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/35.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Pessoa {
public Pessoa() {}
}
Classe pública Pessoa
Construtor da Classe
![Page 36: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/36.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class ExemploPessoa {
public static void main(String[] args) {Pessoa pessoa = new Pessoa();System.out.println(pessoa);
}
}
Objeto pessoa
Instanciando o objeto pessoa
![Page 37: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/37.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
ConceitosDetalhes:• Toda classe possui um construtor padrão.• Construtor padrão tem como principal objetivo, colocar o objeto na
memória e criar uma instância para ser utilizada.• O construtor padrão é formado pelo nome da classe, sem um retorno e sem
parâmetros.• Na classe pode existir vários construtores com parâmetros diferentes.• Para instanciar uma classe utilizamos o operador new.
![Page 38: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/38.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
AtributosDetalhes:• Linda !!!• Maravilhosa !!!• Jedi !!!
• Nome• Idade• Peso • Altura
Atributos normalmente são características
![Page 39: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/39.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
AtributosDetalhes:• Lindo !!!• Maravilhoso !!!• Batman !!!
• Nome• Idade• Peso • Altura
Atributos normalmente são características
![Page 40: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/40.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Pessoa {
private String nome;private int idade;private double altura;private double peso;
public Pessoa() {}
public String getNome() {
return nome;}
public void setNome(String nome) {
this.nome = nome;}
public int getIdade() {
return idade;}
public void setIdade(int idade) {
this.idade = idade;}
public double getAltura() {
return altura;}
public void setAltura(double altura) {
this.altura = altura;}
public double getPeso() {
return peso;}
public void setPeso(double peso)
{this.peso = peso;
} }
![Page 41: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/41.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
AtributosDetalhes:• Atributos são variáveis com escopo private criadas dentro de uma classe.• Normalmente, utilizamos métodos para obter um valor de uma variável.• Por enquanto métodos são semelhantes a funções em comparação com
outras linguagens de programação.• Métodos de atributos são conhecidos como getter e setter.• Getter obtém um valor de um atributo.• Setter atribui um valor para um atributo.
![Page 42: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/42.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class ExemploPessoa {
public static void main(String[] args) {Pessoa pessoa = new Pessoa();pessoa.setNome("Daisy Jazz Isobel Ridley");pessoa.setIdade(24);pessoa.setAltura(1.75);pessoa.setPeso(60.0);
System.out.println(pessoa.getNome());System.out.println(pessoa.getIdade());System.out.println(pessoa.getAltura());System.out.println(pessoa.getPeso());
}
}
![Page 43: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/43.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
MétodosDetalhes:• É uma ação que um objeto pode executar.• Um método possui um escopo, retorno, nome e parâmetros.• Semelhantes a funções em outras linguagens de programação.• Normalmente são verbos. Por exemplo: andar, correr, sacar, comprar,
debitarConta, depositarConta.
![Page 44: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/44.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Pessoa {
...
public int andar() {passos++;return passos;
} }
![Page 45: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/45.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class ExemploPessoa {
public static void main(String[] args) {Pessoa pessoa = new Pessoa();pessoa.setNome("Daisy Jazz Isobel Ridley");pessoa.setIdade(24);pessoa.setAltura(1.75);pessoa.setPeso(60.0);
System.out.println(pessoa.getNome());System.out.println(pessoa.getIdade());System.out.println(pessoa.getAltura());System.out.println(pessoa.getPeso());
System.out.println(pessoa.andar());}
}
![Page 46: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/46.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
HERANÇA
HERANÇA
![Page 47: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/47.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
HERANÇA
HerançaDetalhes:• Um dos benefícios de uma linguagem orientada a objetos é o
reaproveitamento constante de código fonte.• Classes são desenvolvidas para serem utilizadas em qualquer local da
aplicação e em outros projetos.• Algumas classes possuem caracterização diferentes uma das outras, mas
podem possuir alguns métodos e atributos comuns.• Por exemplo: todas as Pessoas, possuem um nome, idade, peso e altura,
mas podem existir tipo diferentes como Funcionário, Aluno e Professor.• Essas três classes compartilham os mesmo atributos e métodos da classe
Pessoa.
Herança é herdar todos os atributos e métodos de uma classe.
![Page 48: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/48.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Funcionario extends Pessoa {
private double salario;private String cargo;
public Funcionario() {}
public double getSalario() {
return salario;}
public void setSalario(double salario) {
this.salario = salario;}
public String getCargo() {
return cargo;}
public void setCargo(String cargo) {
this.cargo = cargo;}
}
![Page 49: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/49.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
HERANÇA
HerançaDetalhes:• A palavra reservada extends seguida do nome da classe define uma
herança.• Uma classe Java herda somente de uma outra classe.• Não existe herança múltipla em Java.
![Page 50: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/50.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class ExemploFuncionario {
public static void main(String[] args) {Funcionario funcionario = new Funcionario();funcionario.setNome("Daisy Jazz Isobel Ridley");funcionario.setIdade(24);funcionario.setAltura(1.75);funcionario.setPeso(60.0);funcionario.setSalario(100000.00);
System.out.println(funcionario.getNome());System.out.println(funcionario.getIdade());System.out.println(funcionario.getAltura());System.out.println(funcionario.getPeso());
System.out.println(funcionario.andar());}
}
![Page 51: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/51.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
HERANÇA
HerançaDetalhes:• Isso funciona?
Pessoa funcionario = new Funcionario();
Sim !!! A classe Funcionario é do tipo Pessoa.
![Page 52: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/52.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
HERANÇA
HerançaDetalhes:• Em nossos exemplos, a classe Funcionario é filha da classe Pessoa.• Pessoa é a classe pai de Funcionario.• Podemos sobrescrever métodos da classe pai na classe filha para alterar seu
comportamento. • Neste exemplo vamos alterar o comportamento do método falar.
![Page 53: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/53.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Pessoa {
...
public void falar(String frase) {System.out.println(frase);
}
... }
![Page 54: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/54.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Funcionario extends Pessoa {
...
@Overridepublic void falar(String frase) {
System.out.println("Funcionário:" + frase);}
}
![Page 55: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/55.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class ExemploSobrescrever {
public static void main(String[] args) {Funcionario funcionario = new Funcionario();funcionario.falar("Eu trabalho na empresa ABX");
Pessoa pessoa = new Funcionario();pessoa.falar("Eu trabalho na empresa TXBUI");
Pessoa pessoa2 = new Pessoa();pessoa2.falar("Eu sou uma pessoa");
} }
![Page 56: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/56.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
HERANÇA
HerançaSaída do Programa:
![Page 57: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/57.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
INTERFACES
INTERFACES
![Page 58: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/58.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
INTERFACES
InterfacesDetalhes:• Interfaces são semelhantes a classes, mas seus métodos não possuem
nenhum tipo de implementação.• Os métodos são implementados obrigatoriamente na classe filha.• Podemos implementar mais de uma interface em uma classe.• Normalmente as interfaces são utilizadas para efetuar dinamismo em uma
aplicação.
![Page 59: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/59.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public interface Humano {
String getNome();void setNome(String nome);int getIdade();void setIdade(int idade);double getAltura();void setAltura(double altura);double getPeso();void setPeso(double peso);void falar(String frase);int andar();
}
![Page 60: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/60.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Pessoa implements Humano {
... }
![Page 61: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/61.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
InterfacesDetalhes:• Para implementar uma interface utilizamos a palavra reservada implements
seguida do nome da interface.• Podemos implementar mais de uma interface separados por virgula.
INTERFACES
![Page 62: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/62.jpg)
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class ExemploInterface {
public static void main(String[] args) {Humano pessoa = new Pessoa();pessoa.falar("Sou uma pessoa");
Humano funcionario = new Funcionario();funcionario.falar("Sou um funcionário
feliz");}
}
![Page 63: Linguagem de Programação Java](https://reader036.vdocuments.site/reader036/viewer/2022062400/588af0c21a28abf8548b4c99/html5/thumbnails/63.jpg)
Obrigado !!!