<p><img src="https://i.imgur.com/D01Fpky.png" alt="" title="Entre no nosso site e veja nossos cursos"></p>
<h1>
<img class="emoji" alt=":coffee:" src="https://cdn.jsdelivr.net/npm/@hackmd/emojify.js@2.1.0/dist/images/basic/coffee.png"> Java OO Aula 1
</h1>
O objetivo deste curso é abordar os principais conceitos, empregar as principais estruturas de dados, e trabalhar utilizando as principais boas práticas de Programação Orientada a Objetos [POO] em **Java**.
<h2 id="-Tema-da-aula" data-id="-Tema-da-aula"><a class="anchor hidden-xs" href="#-Tema-da-aula" title="-Tema-da-aula"><span class="octicon octicon-link"></span></a><img class="emoji" alt=":book:" src="https://cdn.jsdelivr.net/npm/@hackmd/emojify.js@2.1.0/dist/images/basic/book.png">
<span> Tema da aula:</span></h2><p><span>Nessa primeira aula, abrimos o Eclipse, passamos instruções sobre criação de projeto e pacotes. Uso de ternário. Criamos nossa primeira Classe em Java e também uma classe com um método Estático. Mostramos como adicionar uma biblioteca externa e como chamar um método abstrato.</span><br>
<h4>
Estrutura do projeto depois de finalizado
</h4>

<h3>Aluno.java</h3>
<p>Classe de dados em Java, com construtores cheio e vazio, toString, Getters e Setters, e quebra de linha no toString, utilizando o "\n"</p>
```java=
package model;
public class Aluno {
private String nome;
private Integer id;
private String email;
private String disciplina;
private Double nota1 = 0D;
private Double nota2 = 0.;
private Double media = 0.;
private String situacao = "";
public Aluno() {
}
public Aluno(String nome, Integer id, String email, String disciplina,
Double nota1, Double nota2) {
this.nome = nome;
this.id = id;
this.email = email;
this.disciplina = disciplina;
this.nota1 = nota1;
this.nota2 = nota2;
}
@Override
public String toString() {
return "Aluno [nome=" + nome + ", id=" + id + ", email=" + email
+ ", disciplina=" + disciplina + "\nnota1="
+ nota1 + ", nota2=" + nota2 + ", media="
+ media + "\nsituacao=" + situacao + "]";
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getDisciplina() {
return disciplina;
}
public void setDisciplina(String disciplina) {
this.disciplina = disciplina;
}
public Double getNota1() {
return nota1;
}
public void setNota1(Double nota1) {
this.nota1 = nota1;
}
public Double getNota2() {
return nota2;
}
public void setNota2(Double nota2) {
this.nota2 = nota2;
}
public Double getMedia() {
return media;
}
public void setMedia(Double media) {
this.media = media;
}
public String getSituacao() {
return situacao;
}
public void setSituacao(String situacao) {
this.situacao = situacao;
}
public static void main(String[] args) {
Aluno a1 = new Aluno("fernando", 10, "fernandojnr@gmail.com",
"JAVA", 5., 4.);
System.out.println(a1);
Aluno a2 = new Aluno();
a2.setDisciplina("JavaScript");
a2.setEmail("fernando@gmail.com");
a2.setId(11);
a2.setNome("fernando jr");
a2.setNota1(7.);
a2.setNota2(8.);
System.out.println("---");
System.out.println(a2);
}
}
```
<h4>
Rodando o método main, temos:
</h4>

<h3>
Aluno.java
</h3>
<p>Classe Aluno com dois métodos novos - calcularMedia e gerarSituacao</p>
```java=
package model;
public class Aluno {
private String nome;
private Integer id;
private String email;
private String disciplina;
private Double nota1 = 0D;
private Double nota2 = 0.;
private Double media = 0.;
private String situacao = "";
public Aluno() {
}
public Aluno(String nome, Integer id, String email,
String disciplina, Double nota1, Double nota2) {
this.nome = nome;
this.id = id;
this.email = email;
this.disciplina = disciplina;
this.nota1 = nota1;
this.nota2 = nota2;
}
@Override
public String toString() {
return "Aluno [nome=" + nome + ", id=" + id + ", email=" + email
+ ", disciplina=" + disciplina + "\nnota1="
+ nota1 + ", nota2=" + nota2 + ", media="
+ media + "\nsituacao=" + situacao + "]";
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getDisciplina() {
return disciplina;
}
public void setDisciplina(String disciplina) {
this.disciplina = disciplina;
}
public Double getNota1() {
return nota1;
}
public void setNota1(Double nota1) {
this.nota1 = nota1;
}
public Double getNota2() {
return nota2;
}
public void setNota2(Double nota2) {
this.nota2 = nota2;
}
public Double getMedia() {
return media;
}
public void setMedia(Double media) {
this.media = media;
}
public String getSituacao() {
return situacao;
}
public void setSituacao(String situacao) {
this.situacao = situacao;
}
public void calcularMedia() {
this.media = (this.nota1 + this.nota2) / 2;
}
public void gerarSituacao() {
this.situacao = (this.media>=7)?"Aprovado":"Reprovado";
}
public static void main(String[] args) {
Aluno a1 = new Aluno("fernando", 10, "fernandojnr@gmail.com",
"JAVA", 5., 4.);
a1.calcularMedia();
a1.gerarSituacao();
System.out.println(a1);
Aluno a2 = new Aluno();
a2.setDisciplina("JavaScript");
a2.setEmail("fernando@gmail.com");
a2.setId(11);
a2.setNome("fernando jr");
a2.setNota1(7.);
a2.setNota2(8.);
a2.calcularMedia();
a2.gerarSituacao();
System.out.println("---");
System.out.println(a2);
}
}
```
<h4>
Rodando o método main, temos:
</h4>

<h3>
PrintJson.java
</h3>
<p>Classe criada para ilustrar o uso de método estático e como adicionar bibliotecas externas.</p>
```java=
package control;
import com.google.gson.Gson;
import model.Aluno;
public class PrintJson {
public static void imprimeJson(Aluno a) {
System.out.println(new Gson().toJson(a));
}
}
```
<h3>
Aluno.java
</h3>
<p>Adicionamos as chamadas ao método estático da classe PrintJson</p>
```java=
package model;
import control.PrintJson;
public class Aluno {
private String nome;
private Integer id;
private String email;
private String disciplina;
private Double nota1 = 0D;
private Double nota2 = 0.;
private Double media = 0.;
private String situacao = "";
public Aluno() {
}
public Aluno(String nome, Integer id, String email,
String disciplina, Double nota1, Double nota2) {
this.nome = nome;
this.id = id;
this.email = email;
this.disciplina = disciplina;
this.nota1 = nota1;
this.nota2 = nota2;
}
@Override
public String toString() {
return "Aluno [nome=" + nome + ", id=" + id + ", email=" + email
+ ", disciplina=" + disciplina + "\nnota1="
+ nota1 + ", nota2=" + nota2 + ", media="
+ media + "\nsituacao=" + situacao + "]";
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getDisciplina() {
return disciplina;
}
public void setDisciplina(String disciplina) {
this.disciplina = disciplina;
}
public Double getNota1() {
return nota1;
}
public void setNota1(Double nota1) {
this.nota1 = nota1;
}
public Double getNota2() {
return nota2;
}
public void setNota2(Double nota2) {
this.nota2 = nota2;
}
public Double getMedia() {
return media;
}
public void setMedia(Double media) {
this.media = media;
}
public String getSituacao() {
return situacao;
}
public void setSituacao(String situacao) {
this.situacao = situacao;
}
public void calcularMedia() {
this.media = (this.nota1 + this.nota2) / 2;
}
public void gerarSituacao() {
this.situacao = (this.media>=7)?"Aprovado":"Reprovado";
}
public static void main(String[] args) {
Aluno a1 = new Aluno("fernando", 10, "fernandojnr@gmail.com",
"JAVA", 5., 4.);
a1.calcularMedia();
a1.gerarSituacao();
System.out.println(a1);
Aluno a2 = new Aluno();
a2.setDisciplina("JavaScript");
a2.setEmail("fernando@gmail.com");
a2.setId(11);
a2.setNome("fernando jr");
a2.setNota1(7.);
a2.setNota2(8.);
a2.calcularMedia();
a2.gerarSituacao();
System.out.println("---");
System.out.println(a2);
System.out.println("---");
PrintJson.imprimeJson(a1);
PrintJson.imprimeJson(a2);
}
}
```
<h4>
Rodando o método main, temos:
</h4>

<span></span></p><blockquote style="border-left-color: red;">
<p><span class="color" data-color="red"></span><span> </span><small><i class="fa fa-user"></i> Prof Fernando Gomes - fernandojnr@gmail.com</small></p>