2 INFO – 21/02/2024 – POO – Encapsulamento – Blog Gerardão

2 INFO – 21/02/2024 – POO – Encapsulamento

Encapsulamento

Usamos esse princípio para juntar, ou encapsular, dados e comportamentos relacionados em entidades únicas, que chamamos de objetos.

Por exemplo, se quisermos modelar uma entidade do mundo real, por exemplo Computador.

Encapsular é agregar todos os atributos e comportamentos referentes à essa Entidade dentro de sua Classe.

Dessa forma, o mundo exterior não precisa saber como um Computador liga e desliga, ou como ele realiza cálculos matemáticos!

Basta instanciar um objeto da Classe Computador, e utilizá-lo! :wink:

O princípio do Encapsulamento também afirma que informações importantes devem ser contidas dentro do objeto de maneira privada e apenas informações selecionadas devem ser expostas publicamente.

Veja a imagem abaixo que exemplifica a relação entre atributos e métodos públicos e privados:

A implementação e o estado de cada objeto são mantidos de forma privada dentro da definição da Classe.

Outros objetos não têm acesso a esta classe ou autoridade para fazer alterações.

Eles só podem chamar uma lista de funções ou métodos públicos.

Essa característica de ocultação de dados fornece maior segurança ao programa e evita corrupção de dados não intencional.

Esse código não consegue alterar os atributos MARCA e MODELO, pois estão encapsulados, PRIVADOS ao acesso externo. Vejamos o próximo código:

Agora criamos um método PÚBLICO chamado alteraValores, com ele conseguimos acessar os atributos privados, pois esse acesso é realizado pela própria classe.

Mas ainda conseguimos reduzir e simplificar mais esse código. Criaremos um tipo especial de método chamado MÉTODO CONSTRUTOR, com ele conseguimos instanciar o objeto e ao mesmo tempo alterar os valores de suas propriedades. Vejamos o código abaixo:

ATIVIDADE

  1. Recrie o último exemplo
  2. Crie a classe Conta utilizando a linguagem Python. Utilize o diagrama de classes abaixo para implementar o código.

5 comentários em “2 INFO – 21/02/2024 – POO – Encapsulamento”

  1. class conta:
    def __init__(self, banco, agencia, numero_conta, saldo):
    self.__banco = agencia
    self.__agencia = banco
    self.__numero_conta = saldo
    self.__saldo = numero_conta

    def imprime(self):
    print(‘banco:’,self.__banco)
    print(‘agencia:’,self.__agencia)
    print(‘numero da conta:’,self.__numero_conta)
    print(‘saldo:’,self.__saldo)

    objetoconta = conta(‘Santander’,’Caixa’,’10.000′,’4002-8922′)
    objetoconta.imprime()

    Responder
  2. class conta:
    def __init__(self, banco, agencia, numero_conta, saldo):
    self.__banco = agencia
    self.__agencia = banco
    self.__numero_conta = saldo
    self.__saldo = numero_conta

    def imprime(self):
    print(‘banco:’,self.__banco)
    print(‘agencia:’,self.__agencia)
    print(‘numero da conta:’,self.__numero_conta)
    print(‘saldo:’,self.__saldo)

    objetoconta = conta(‘Santander’,’Caixa’,’10.000′,’4002-8922′)
    objetoconta.imprime()

    Responder

Deixe um comentário para nara Cancelar resposta