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

Aula 4

O documento aborda os conceitos fundamentais da Programação Orientada a Objetos, incluindo modificadores de acesso, atributos de instância e de classe, e métodos de instância e de classe. Os modificadores de acesso (private, default, protected e public) controlam a visibilidade dos membros de uma classe, enquanto atributos de instância são específicos de objetos e atributos de classe são compartilhados entre todos os objetos. Métodos de instância requerem a criação de um objeto para serem chamados, enquanto métodos de classe podem ser invocados diretamente sem a necessidade de instância.

Enviado por

Mauricio Saraiva
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)
8 visualizações22 páginas

Aula 4

O documento aborda os conceitos fundamentais da Programação Orientada a Objetos, incluindo modificadores de acesso, atributos de instância e de classe, e métodos de instância e de classe. Os modificadores de acesso (private, default, protected e public) controlam a visibilidade dos membros de uma classe, enquanto atributos de instância são específicos de objetos e atributos de classe são compartilhados entre todos os objetos. Métodos de instância requerem a criação de um objeto para serem chamados, enquanto métodos de classe podem ser invocados diretamente sem a necessidade de instância.

Enviado por

Mauricio Saraiva
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
Você está na página 1/ 22

Programação Orientada a Objetos

Prof. Maurício de Oliveira Saraiva


mau.saraiva@gmail.com
Programação Orientada a Objetos

Conteúdo

• Modificadores de acesso
• Atributos de instância e de classe
• Métodos de instância e de classe
Modificadores de acesso

A restrição de acesso aos membros de uma classe é um dos pilares da


Programação Orientada a Objetos, pois impede a má utilização de um
objeto. Podem ser usados em classes, atributos e métodos.

Proteger o acesso aos atributos de uma classe evita que valores


inapropriados sejam atribuídos, garantindo a correta execução
conforme as regras de negócio definidas.

No Java, existe private, default/package, protected e public.


Modificadores de acesso

Private:

Apenas os membros da classe pode acessar os seus atributos


diretamente.

Quem deve acessar os dados da sua conta corrente?


Apenas você!
Modificadores de acesso

public class Conta {


public double saldo= 0;

public void depositar(double valor) {


this.saldo+= valor;
}

public void sacar(double valor) {


if (this.saldo - valor >= 0)
this.saldo-= valor;
}

public double saldo() {


return this.saldo;
}
}
Modificadores de acesso

public class ContaTeste {

public static void main(String[] args) {


Conta c= new Conta();
c.sacar(20);
System.out.println(c.saldo());
c.saldo= -20;
System.out.println(c.saldo());
}
}
Modificadores de acesso

Default/Package:

Apenas os membros que estiverem no mesmo pacote podem acessá-


lo diretamente.

Não é preciso informar qualquer palavra reservada, apenas não cite


o modificador.

Quem pode acessar os dados da sua conta corrente?


Você e sua esposa (pacote família)!
Modificadores de acesso

public class Conta {


double saldo= 0;

public void depositar(double valor) {


this.saldo+= valor;
}

public void sacar(double valor) {


if (this.saldo - valor >= 0)
this.saldo-= valor;
}

public double saldo() {


return this.saldo;
}
}
Modificadores de acesso

public class ContaTeste {

public static void main(String[] args) {


Conta c= new Conta();
c.sacar(20);
System.out.println(c.saldo());
c.saldo= -20;
System.out.println(c.saldo());
}
}
Tipos de atributos

Protected:

Além dos membros do seu pacote, os membros filhos (descendentes)


também podem acessar, mesmo que estejam em outros pacotes.

Esse acesso é realizado por herança, que será apresentada em outra


aula.

Quem pode acessar os dados da sua conta corrente?


Você, sua esposa e seus filhos, mesmo os que não moram junto!
Tipos de atributos: protected

public class Conta {


protected double saldo= 0;

public void depositar(double valor) {


this.saldo+= valor;
}

public void sacar(double valor) {


if (this.saldo - valor >= 0)
this.saldo-= valor;
}

public double saldo() {


return this.saldo;
}
}
Tipos de atributos: protected

import aula04.Conta;

public class ContaTeste extends Conta {

public static void main(String[] args) {


ContaTeste c= new ContaTeste();
c.sacar(20);
System.out.println(c.saldo());
c.saldo= -20;
System.out.println(c.saldo());
}
}
Tipos de atributos

Public:

Não existe restrição, qualquer objeto pode acessar os dados desse


objeto, sem precisar passar pelas operações da classe.

Quem pode acessar os dados da sua conta corrente?


Você, sua esposa, seus filhos e o mundo inteiro.
Modificadores de acesso

Resumo:
Private: apenas os membros da classe.
Default/package: apenas os membros do mesmo pacote.
Protected: membros da mesma classe, do mesmo pacote e
objetos descendentes.
Público: acesso global.

Modificador Classe Pacote Subclasse Global


Private + - - -
Defahlt/package + + - -
Protected + + + -
Public + + + +
Atributos de instância e de classe

Atributos de instância:

Quando se instancia uma classe para criar um objeto, sabe-se que


esse objeto pode assumir determinado estado por meio de seus
atributos. Essa mudança de estado ocorre porque os atributos
podem receber valores ao longo da execução de um programa.

Normalmente os atributos de uma classe são declarados como


atributos de instância, visto que esse é o modo usual de declaração
de atributos.

Os objetos das classes são identificados de forma única pelo


programa durante a sua execução, pois cada objeto ocupa um espaço
distinto na memória. Mesmo que alguns objetos contenham valores
iguais nos seus atributos de instância, ainda serão objetos diferentes
e a mudança de estado de um não interfere nos demais.
Atributos de instância e de classe

Atributos de classe:

Os atributos de classe ou atributos estáticos, por sua vez, pertencem


à classe em que foram declarados ao invés de pertencer aos objetos.
Isso significa que se determinado atributo de classe de um objeto for
modificado, esse atributo será modificado em todos os objetos
daquela classe.

Para declarar um atributo de classe é preciso informar a palavra


reservada static na declaração desse atributo na classe.
Atributos de instância e de classe

public class Conta {


private static double saldo= 0;

public void depositar(double valor) {


saldo+= valor;
}

public void sacar(double valor) {


if (saldo - valor >= 0)
saldo-= valor;
}

public double saldo() {


return saldo;
}
}
Atributos de instância e de classe

public class ContaTeste {

public static void main(String[] args) {


Conta c1= new Conta();
System.out.println(c1.saldo());
c1.depositar(20);
System.out.println(c1.saldo());

Conta c2= new Conta();


System.out.println(c2.saldo());

c2.sacar(10);
System.out.println(c2.saldo());
System.out.println(c1.saldo());
}
}
Métodos de instância e de classe

Métodos de instância:

É todo método declarado para ser executado a partir dos objetos de


uma classe. Esse é o modo usual de declarar os métodos em uma
classe.

Para executar um método de instância é preciso instanciar a classe


para criar um objeto para, em seguida, realizar a chamada do
método por meio desse objeto. Nenhum método de instância pode
ser invocado sem a criação de um objeto.
Métodos de instância e de classe

Métodos de classe:

Os métodos de classe, por sua vez, não exigem a criação de um


objeto para serem executados, pois podem ser invocados
diretamente.

Essa facilidade tem por objetivo simplificar o uso de funções que não
precisam ser chamadas pelos objetos, como cálculos com números
passados por parâmetros, por exemplo.

As classes que possuem métodos estáticos são conhecidas por


classes utilitárias e normalmente seus métodos recebem parâmetros
para realizar as operações, tais como os métodos matemáticos.
Métodos de instância e de classe

public class Conta {


private double saldo= 0;

public double saldo() {


return this.saldo;
}

public static double calcularLimite(double saldo, double limite) {


return saldo + limite;
}
}
Métodos de instância e de classe

public class ContaTeste {

public static void main(String[] args) {


double saldo= Conta.calcularLimite(10, 2);
System.out.println(saldo);
}
}

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy