Diferenza entre abstracción e encapsulación

Última actualización: 24/04/2023

Que é abstracción e encapsulación?

La abstracción e o encapsulamento Son dous conceptos esenciais na programación orientado a obxectos (POO). Ambos serven para organizar e estruturar o noso código e para evitar posibles erros ou conflitos.

Abstracción

La abstracción é o proceso de identificación de características esenciais dun obxecto e omitir características non esenciais. Na programación POO, a abstracción permítenos crear unha clase sen preocuparnos polos detalles internos da súa implementación.

Por exemplo, se estamos a crear un xogo de carreiras, podemos crear unha clase "Coche" que teña propiedades como "Velocidade" ou "Aceleración", pero non necesitamos saber como funciona o motor nin como se transmite a potencia ao rodas.

Exemplo:

Vexamos un exemplo de código que ilustra a abstracción:

class Car { private int CurrentSpeed; aceleración int privada; public Car() { currentSpeed ​​​​= 0; aceleración = 0; } public void accelerate(int increment) { aceleración += incremento; } public void decelerate(int decrement) { aceleración -= decremento; } // Outras propiedades e métodos... }
  

Neste exemplo, estamos creando unha clase "Coche" que ten dúas propiedades (velocidade actual e aceleración) e dous métodos (aceleración e freo). Non obstante, non necesitamos coñecer os detalles internos de como se move o coche, e podemos traballar con el coma se fose unha entidade abstracta.

Contido exclusivo - Fai clic aquí  Microsoft lanza a primeira vista previa de .NET 10 con novas funcións clave

Encapsulación

La encapsulamento, pola súa banda, é o proceso de ocultar ou protexer os detalles internos dunha clase e só permitir o acceso a través dunha interface pública. Isto faise para evitar posibles conflitos ou erros.

Por exemplo, se temos unha clase "Persoa" con propiedades como "Idade" ou "Nome", queremos asegurarnos de que non se poidan modificar inadvertidamente desde fóra da clase. Para iso, podemos establecer estas propiedades como privadas e crear métodos públicos para acceder a elas, como "getAge()" ou "setName()".

Exemplo:

Vexamos un exemplo de código que ilustra a encapsulación:

class Person { private int age; nome de cadea privada; Persoa pública(int e, String n) { idade = e; nome = n; } public int getAge() { return age; } public String getName() { devolver nome; } public void setName(Cadea n) { nome = n; } // Outras propiedades e métodos... }
  

Neste exemplo, estamos a crear unha clase "Person" con dúas propiedades (idade e nome) e varios métodos para acceder a elas (getAge, getName e setName). Pero estas propiedades só son accesibles desde dentro da clase, protexendoas de posibles erros ou conflitos.

Contido exclusivo - Fai clic aquí  Spyder Python IDE: unha guía para principiantes á programación en Python

Conclusión

En resumo, o/a abstracción e o encapsulamento son dous conceptos clave na programación orientada a obxectos. A abstracción permítenos traballar con entidades abstractas sen preocuparnos polos detalles internos da súa implementación, mentres que o encapsulamento permítenos protexer os detalles internos dunha clase e só permitir o acceso a través dunha interface pública.

É fundamental comprender estes conceptos para deseñar e desenvolver programas eficaces orientados a obxectos e ben estruturado.

Referencias