O documento discute conceitos fundamentais de orientação a objetos em Java, incluindo: (1) Classes definem objetos através de atributos e métodos; (2) Objetos são instâncias de classes; (3) Atributos representam o estado de um objeto e métodos representam seu comportamento.
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Professor Samuel Ribeiro
Classes
Atributos e métodos para as classes
Objeto this para acessar dados de instância
Overloading de métodos
Importar e criar pacotes
Usar modificadores de acesso para controlar o acesso aos elementos de uma classe
Herança
Herança é um dos princípios fundamentais em orientação a objeto. Um comportamento (método) é definido e codificado uma única vez em uma única classe e este comportamento é herdado por todas suas subclasses. Uma subclasse precisa apenas implementar as diferenças em relação a sua classe pai, ou seja, adaptar-se ao meio em que vive.
Programação Orientada a Objetos e alguns dos seus conceitos
Diferenças entre classes e objetos
Diferenças entre atributos e métodos de objeto de atributos e métodos de classe
Métodos
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Professor Samuel Ribeiro
Classes
Atributos e métodos para as classes
Objeto this para acessar dados de instância
Overloading de métodos
Importar e criar pacotes
Usar modificadores de acesso para controlar o acesso aos elementos de uma classe
Herança
Herança é um dos princípios fundamentais em orientação a objeto. Um comportamento (método) é definido e codificado uma única vez em uma única classe e este comportamento é herdado por todas suas subclasses. Uma subclasse precisa apenas implementar as diferenças em relação a sua classe pai, ou seja, adaptar-se ao meio em que vive.
Programação Orientada a Objetos e alguns dos seus conceitos
Diferenças entre classes e objetos
Diferenças entre atributos e métodos de objeto de atributos e métodos de classe
Métodos
Slides utilizados para treinamento interno na DBlinks visando o aprendizado de boas práticas de programação na linguagem Java.
* Exemplos retirados de cursos e posts da Alura (www.alura.com.br)
O objetivo dessa palestra é passar os conceitos da programação Orientada a Objetos em PHP tomando como referência o Sistema de Acompanhamento e Execução Orçamentária – SAEO – que está sendo desenvolvido para o Instituto Federal de Educação, Ciência e Tecnologia de Alagoas – IFAL.
Aula 07 da disciplina de Programação Orientada a Objetos, ministrada pelo Departamento de Computação da Universidade Federal de Sergipe.
Apresenta os conceitos de construtores e de atributos de classe.
Slides utilizados para treinamento interno na DBlinks visando o aprendizado de boas práticas de programação na linguagem Java.
* Exemplos retirados de cursos e posts da Alura (www.alura.com.br)
O objetivo dessa palestra é passar os conceitos da programação Orientada a Objetos em PHP tomando como referência o Sistema de Acompanhamento e Execução Orçamentária – SAEO – que está sendo desenvolvido para o Instituto Federal de Educação, Ciência e Tecnologia de Alagoas – IFAL.
Aula 07 da disciplina de Programação Orientada a Objetos, ministrada pelo Departamento de Computação da Universidade Federal de Sergipe.
Apresenta os conceitos de construtores e de atributos de classe.
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Biblioteca UCS
A biblioteca abriga, em seu acervo de coleções especiais o terceiro volume da obra editada em Lisboa, em 1843. Sua exibe
detalhes dourados e vermelhos. A obra narra um romance de cavalaria, relatando a
vida e façanhas do cavaleiro Clarimundo,
que se torna Rei da Hungria e Imperador
de Constantinopla.
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
Atividade - Letra da música "Tem Que Sorrir" - Jorge e MateusMary Alvarenga
A música 'Tem Que Sorrir', da dupla sertaneja Jorge & Mateus, é um apelo à reflexão sobre a simplicidade e a importância dos sentimentos positivos na vida. A letra transmite uma mensagem de superação, esperança e otimismo. Ela destaca a importância de enfrentar as adversidades da vida com um sorriso no rosto, mesmo quando a jornada é difícil.
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Betel, Ordenança para buscar a paz e fazer o bem, 2Tr24, Pr Henrique, EBD NA TV, 2° TRIMESTRE DE 2024, ADULTOS, EDITORA BETEL, TEMA, ORDENANÇAS BÍBLICAS, Doutrina Fundamentais Imperativas aos Cristãos para uma vida bem-sucedida e de Comunhão com DEUS, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Comentários, Bispo Abner Ferreira, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
2. Classe
• Uma classe é um gabarito para a definição de objetos.
• Assim com uma planta (construção) pode ser usada para criar
diversas construções, uma única classe pode ser usada para
criar quantos objetos forem necessários.
1
3. Objeto
• É a instância de uma classe.
Imagine uma planta de um apartamento. Pois bem, essa é nossa
classe, ou seja, define os cômodos, tamanho, número de quartos e
diversos outros aspectos dos objetos construídos, neste caso,
apartamentos. Percebeu a diferença? A classe é um molde para os
objetos. Quando se diz: “Instância de uma classe”, nada mais é do que
o objeto dessa classe.
Mundo Java
Planta do apartamento Classe
Apartamento 12 Objeto
2
4. Objeto
• Vamos adotar como exemplo um molde de
bonecos de gesso. Essa é a nossa CLASSE. Ela
define formato, tamanho e diversos outros
aspectos dos objetos fabricados (bonecos de
gesso).
Mundo Java
Molde Classe
Boneco de Gesso Objeto
3
5. Objeto
• O molde é sempre o mesmo, porém os objetos por ele
gerados podem ter características das mais variadas, mas
respeitando a estrutura básica do molde (classe).
• Imagine um molde de samurai:
Vamos criar três objetos
Os três objetos possuem
características (cor).
Poderiam ser várias outras,
tipo: cor dos olhos, do cabelo
e etc. Tais características são
chamadas de atributos do
objeto.
4
6. Atributos
• Atributos definem o estado do objeto em determinado momento.
Imagine uma classe “Pessoa”. Agora imagine um objeto Mulher do tipo
Pessoa. Com os seguintes atributos: corOlhos, corCabelo e tipoSanguineo.
Vamos assumir que os valores para esses atributos são respectivamente: azuis,
preto e tipo A.
Bom, nunca se sabe quando uma mulher vai trocar a cor do cabelo, mas
podemos, nesse instante, assumir que o estado para esse objeto é (azuis, preto e
tipo A), porém amanhã pode se que seu estado seja alterado, por exemplo na
cor do cabelo (corCabelo). O fato é, se um ou vários atributos forem alterados,
diz-se que seu estado (estado do objeto) também foi. 5
7. Métodos
Voltando a classe Pessoa citada anteriormente, além dos atributos, os objetos dessa
classe também possuem comportamentos, tais como: andar, dormir, acordar, etc.
Esses comportamentos são chamados de métodos.
Resumindo:
Os atributos de instância (ou de objeto) definem o estado desse objeto.
Os métodos de instância (ou de objeto) definem os comportamentos desse
objeto.
6
8. Regras de Sintaxe - Java
Tipos primitivos: São tipos de dados que não representam classes, mas sim valores
básicos. Eles existem para representar os tipos mais simples de dado, sendo eles
dados numérico, booleano e caractere. Os tipos primitivos da linguagem Java
são:
7
9. Variável e referência
- Todo objeto criado ficará armazenado em memória principal, ou seja, a sua
memória RAM.
- Como acessar este objeto (para alterar seu estado ou invocar um determinado
comportamento)? Através das referencias! Uma espécie de ponteiro ao objeto
em memória.
- As variáveis funcionam da mesma forma porém não referenciam um objeto e
sim um tipo primitivo.
8
10. Declaração e Inicialização
- Declaremos uma variável idade do tipo inteiro:
int idade;
- Sempre seguirá esse padrão: primeiro o tipo, que pode ser um tipo
primitivo ou um tipo de referência (classe), depois o nome
da referencia ou variável.
- Agora um exemplo de declaração de referência:
Samurai samu1;
Samurai é o tipo da referência, e samu1 é o nome dessa referencia;
9
11. Declaração e Inicialização
A Inicialização, como o próprio nome já nos dá uma dica, nada mais é do que
inicializar essa variável ou referência com alguma coisa, por exemplo:
int idade = 26;
E para a referência:
Samurai samu1 = new Samurai();
Essa é a maneira de instanciarmos (ou criarmos em memória) um objeto do
tipo Samurai e ao “mesmo tempo” amarrá-lo a uma referência também do
mesmo tipo, ou seja, diz-se que samu1 referencia esse objeto criado.
tipo (Samurai) da referência -> nome da referência (samu1) -> operador de
atribuição (=) -> operador de “instanciação” (new) -> chamada
do construtor da classe do objeto que estamos criando (Samurai()).
10
12. Declaração e Inicialização
O comando New Samurai() cria um objeto do tipo Samurai em memória e o
atribui a referência samu1. Esse será o seu elo de acesso ao objeto criado , pois
é através dele que esse objeto poderá ser manipulado.
11
13. Construtores
- O construtor é um método com o mesmo nome da classe.
- O construtor não possui retorno.
Se quisermos criar uma classe do tipo String precisamos utilizar o construtor
dessa classe:
String autor = new String (“Machado de Assis”);
Agora temos um objeto em memória referenciado por autor.
Obs.:
- Objetos String são os únicos em Java que podem ser
criados sem o operador new.
- Objetos String são imutáveis.
12
14. Modificadores de acesso
Modificadores de acesso a métodos, atributos e classes da linguagem Java, são
padrões de visibilidade e de acesso aos mesmos.
- Public – Pode ser acessada de qualquer lugar e por qualquer entidade que
possa visualizar a classe a que ela pertença.
- Private – Os membros da classe assim definidos não podem ser acessados
ou usados por nenhuma outra classe. Esse modificador não se aplica às
classes, somente para seus métodos e atributos. Classes herdadas também
não visualizam estes atributos e métodos.
- Protected - O modificador protected torna o membro acessível às classes
do mesmo pacote ou através de herança, seus membros herdados não são
acessíveis a outras classes fora do pacote em que foram declarados.
- default (padrão): A classe e/ou seus membros são acessíveis somente por
classes do mesmo pacote, na sua declaração não é definido nenhum tipo de
modificador, sendo este identificado pelo compilador.
13
15. Modificadores de acesso
- final - Quando é aplicado na classe, não permite estende-la, nos métodos
impede que o mesmo seja sobrescrito (overriding) na subclasse, e nos
valores de variáveis não pode ser alterado depois que já tenha sido atribuído
um valor.
- abstract - Esse modificador não é aplicado nas variáveis, apenas nas
classes. Uma classe abstrata não pode ser instanciada, ou seja, não pode ser
chamada pelos seus construtores. Se houver alguma declaração de um
método como abstract (abstrato), a classe também deve ser marcada como
abstract.
- Static - Ele muda o escopo do membro. Com o static, ao invés deles
pertencerem à instância do objeto, eles pertencem à classe.
- Getters e Setters: Para permitir acesso aos atributos private a prática
mais comum é criar dois métodos, um que retorna o valor e outro que muda
o valor. O padrão para estes métodos é colocar get ou set antes do nome do
atributo.
14
16. private default protected public
mesma classe sim sim sim sim
mesmo
pacote
não sim sim sim
pacotes
diferentes
(subclasses)
não não sim sim
pacotes
diferentes
(sem
subclasses)
não não não sim
Tabela dos modificadores de acesso
15
17. Modificador Public
class Pessoa{
public String nome;
public int idade;
}
E se alguem fizer isso?
Pessoa p = new Pessoa();
p.nome = "Fulano";
p.idade = -10;
class Pessoa{
private String nome;
private int idade;
public void setIdade(int idade){
if(idade > 0){
this.idade = idade;
}
}
19. Modificadores de acesso
- Protected - O protected é um intermediário entre public e private (É um segredo de
família). Por família entenda: a superclasse, as subclasses e classes do mesmo
package.
Ex.:
-Vamos criar dois pacotes: “Familia” e “Vizinho”.
- O pacote Família contem as seguintes classes: "Heranca", "Pai", "Filha" e "Neta”
- O pacote Vizinho contem a classe “Vizinho” .
19
22. public final class Imutavel {}
Qualquer tentativa de herança a partir da classe Imutavel irá causar um erro de compilação.
public class Impossivel extends Imutavel {}
Modificador final – Classes e Métodos
public class Transacao {
public final boolean verificarSenha() {
...
}
}
public class TransacaoPublica extends Transacao {
public final boolean verificarSenha() {
...
}
}
Classe:
Cannot inherit from final Imutavel !!!
Métodos
verificarSenha() in TransacaoPublica
cannot override verificarSenha()
in Transacao; overridden method is final 22
23. Modificador final – Atributos
Atributos final são constantes (não podem mudar de valor) a partir do momento
que se define o seu valor inicial, esse será o seu valor durante todo o ciclo de vida
do objeto.
public class Carro {
public final int numeroDeRodas = 4;
public int numeroDePortas = 4;
public static void main(String args[]) {
Carro c1, c2;
final Carro c3;
c1 = new Carro();
c1.numeroDeRodas = 5; //erro de compilacao
c2 = c3 = c1;
c2.numeroDePortas = 2;
c3.numeroDePortas = 2;
c3 = c2; //erro de compilacao
}
} 23
25. Exemplos Gerais:
25
Você escreve o código em um arquivo .java, compila, e é gerado um arquivo .class.
Esse arquivo .class é conhecido como bytecode.
A JVM irá ler/interpretar esse bytecode e executá-lo.