0% acharam este documento útil (0 voto)
2 visualizações6 páginas

Fundamentos da Orientação a Objetos

O documento aborda os três pilares da Orientação a Objetos: Encapsulamento, Herança e Polimorfismo. O Encapsulamento protege atributos de classe, a Herança permite que classes herdem propriedades e métodos, e o Polimorfismo permite que objetos se comportem de maneiras diferentes. Além disso, o texto discute a utilização de Getters e Setters para acesso controlado a atributos privados e a definição de enums para conjuntos fixos de constantes.

Enviado por

oiamigopao
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
2 visualizações6 páginas

Fundamentos da Orientação a Objetos

O documento aborda os três pilares da Orientação a Objetos: Encapsulamento, Herança e Polimorfismo. O Encapsulamento protege atributos de classe, a Herança permite que classes herdem propriedades e métodos, e o Polimorfismo permite que objetos se comportem de maneiras diferentes. Além disso, o texto discute a utilização de Getters e Setters para acesso controlado a atributos privados e a definição de enums para conjuntos fixos de constantes.

Enviado por

oiamigopao
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

OOP

Orientação a Objetos (OOP):

-​ Existem três pilares na Orientação a Objetos, Encapsulamento, Herança e


Polimorfismo.

Encapsulamento:

-​ É o princípio de esconder os detalhes internos de um objeto e expor apenas a parte


essencial dele, no caso, em Java é possível fazer isso usando alguns modificadores
de acesso, como: ‘private’, ‘protected’ e ‘public’. Podemos ver um exemplo disso,
não temos acesso ao nome e nem a idade, então para conseguir acessar isso,
precisa de um método que faz um “get” na idade/nome.

-​ public class Pessoa {


-​ private String nome;
-​ private int idade;
-​
-​ public Pessoa(String nome, int idade) {
-​ [Link] = nome;
-​ [Link] = idade;
-​ }
-​
-​ public void fazerAniversario() {
-​ idade += 1;
-​ [Link](nome + " fez aniversário, e agora
tem " + idade + " anos!");
-​ }
-​
-​ public int getIdade() {
-​ return idade;
-​ }
-​
-​ public String getNome() {
-​ return nome;
-​ }
-​
-​ }
Herança:

-​ Herança permite que uma classe herde propriedades e métodos de outra classe.
Fazendo com que reutilize código e crie hierarquia entre certas classes. Abaixo
podemos ver um exemplo onde uma classe Macaco herda propriedades e métodos
da classe Anima usando o ‘extends’.
-​ A classe que está usando o ‘extends’ é chamada de classe filha ou subclasse, já a
classe que está sendo chamada depois de ‘extends’, é a classe mãe ou superclasse

package Testes;

public class Macaco extends Animal{


public void souUmMacaco() {
[Link]("Fodase eu sou " + nome + " um
macaco.");
}
}

package Testes;

public class Animal {


String nome;
int idade;
String sexo;
}

Polimorfismo:

-​ Polimorfismo vem de Poli (Vários) e Morfo (Forma)


-​ Facilita a criação de um código flexível e reutilizável
-​ É a forma com que conseguimos fazer um objeto se comportar de maneiras
diferentes dependendo de seu input. Abaixo podemos ver como o método ‘‘falar()’’
vai se comportar de acordo com a nacionalidade.

package Testes;

public class Pessoa {


String nome;

public void falar() {


[Link]("Estou falando...");
}

}
package Testes;

public class Brasileiro extends Pessoa{


@Override
public void falar() {
[Link]("Sou brasileiro, estou falando em
PT-BR");
}
}

package Testes;

public class Americano extends Pessoa{


@Override
public void falar() {
[Link]("Sou Americano, estou falando em
EN-US");
}
}
Super Classes x Sub Classes
Principais conceitos:

-​ Super - outras classes herdam, podem conter atributos e métodos comuns.


-​ Sub - é uma classe que herda de uma Super Classe, ela herda atributos, métodos,
mas pode adicionar novos ou sobrescrever-los.
-​ Herança é o conceito que faz uma Sub Classe conseguir herdar atributos e métodos
de uma Super Classe

Enum - Classe especial


Principais conceitos:

-​ É uma forma de criar um conjunto fixo de constantes que estão relacionadas


-​ Uma boa prática para a padronização do código
-​ Ajuda a controlar o fluxo do programa

Exemplo de uso:

package Testes;

public enum DiasDaSemana {


SEGUNDA('Dia útil'),
TERCA('Dia útil'),
QUARTA('Dia útil'),
QUINTA('Dia útil'),
SEXTA('Dia útil'),
SABADO('Dia não útil'),
DOMINGO('Dia não útil');

private String descricao;

DiasDaSemana(String descricao) {
[Link] = descricao;
}

public String getDescricao() {


return descricao;
}
}
Encapsulamento
Principais conceitos:

-​ É um dos pilares da Orientação a Objetos, envolve proteger atributos de uma classe


-​ Torna os atributos de uma classe privados e acessíveis apenas através de métodos,
como os métodos Getters e Setters
-​ Permite controlar como os dados internos são modificados, usando métodos Setters,
protege a Integridade do código
-​ Garante mais organização e segurança no código

Exemplo de uso:

package Testes;

public class Cachorro {

private String nome;

public String getNome() {


return nome;
}

public void setNome(String nome) {


[Link] = nome;
}

}
Getters e Setters
Principais conceitos:

-​ Getters: São métodos públicos, usados para conseguir acessar algum atributo
privado de uma Classe
-​ Setters: São métodos públicos, usados para conseguir alterar o valor de algum
atributo privado de uma Classe
-​ Os métodos Setters podem haver validações e verificações antes de modificar
algum dado de uma Classe

Exemplo de uso:

package Testes;

public class Pessoa {

private String nome;


private int idade;

public String getNome() {


return nome;
}

public void setNome(String nome) {


[Link] = nome;
}

public int getIdade() {


return idade;
}

public void setIdade(int idade) {


[Link] = idade;
}
}

Você também pode gostar