Skip to content

Commit 357f8c6

Browse files
authored
Merge pull request #70 from Surodrigues/main
issue pilar de abstracao
2 parents ddb03c5 + 42d1388 commit 357f8c6

File tree

5 files changed

+70
-0
lines changed

5 files changed

+70
-0
lines changed

POO/Abstracao/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# POO - Abstração
2+
Na Programação orientada a objetos(POO), a abstração consiste em simplificar sistemas complexos do mundo real, ocultando detalhes irrelevantes e focando nos aspectos essenciais de objetos e classes.
3+
4+
## O que são **classes** e **objetos**?
5+
São os dois principais aspectos da programação orientada a objetos.
6+
As classes são como "moldes" para construção(instanciação) dos objetos.
7+
8+
## Abstração em Java
9+
A abstração em Java pode ser representada em classes abstratas ou interfaces.
10+
A palavra reservada *abstract* é um modificador sem acesso usado para classes e métodos:
11+
12+
- classe abstrata: é uma classe restrita, que não pode ser utilizada para gerar objetos. Para ser acessada, deverá ser *herdada* por outra classe.
13+
- método abstrato: só poder ser usado em classes abstratas e não possui corpo, este será definido na subclasse herdeira.
14+
- classe filha: utiliza a palavra reservada **extends** para indicar a classe da qual herda os métodos abstrados(classe pai).
15+
- notação *@Override*: utilizada para indicar, na classe filha, o método da classe pai que está sendo definido.
16+
17+
---
18+
19+
## Bibliografia:
20+
- [w3schools - Java](https://www.w3schools.com/java/default.asp)
21+
- [ChatGPT](https://chat.openai.com/)
22+
23+

POO/Abstracao/circulo.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package POO.Abstracao;
2+
3+
public class circulo extends formaGeometrica {
4+
5+
private double raio;
6+
7+
@Override
8+
public double area() {
9+
//área do circulo:
10+
return 3.14*this.raio*this.raio;
11+
}
12+
13+
}

POO/Abstracao/formaGeometrica.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package POO.Abstracao;
2+
3+
public abstract class formaGeometrica {
4+
5+
//método que calcula a área da forma geométrica:
6+
public abstract double area();
7+
}

POO/Abstracao/quadrado.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package POO.Abstracao;
2+
3+
public class quadrado extends formaGeometrica {
4+
5+
private double lado;
6+
7+
@Override
8+
public double area() {
9+
//área do quadrado:
10+
return this.lado * this.lado;
11+
}
12+
13+
}

POO/Abstracao/triangulo.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package POO.Abstracao;
2+
3+
public class triangulo extends formaGeometrica {
4+
//medidas do triangulo como atributos
5+
private double altura;
6+
private double base;
7+
8+
@Override
9+
public double area() {
10+
//área do triangulo
11+
return (this.altura*this.base)/2;
12+
}
13+
14+
}

0 commit comments

Comments
 (0)