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.
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.
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
- Introdución aos conceptos de programación orientada a obxectos - GeeksforGeeks
- Abstracción (informática) – Wikipedia
- Encapsulación (programación) – Wikipedia
Son Sebastián Vidal, un enxeñeiro informático apaixonado pola tecnoloxía e o bricolaxe. Ademais, son o creador de tecnobits.com, onde comparto titoriais para que a tecnoloxía sexa máis accesible e comprensible para todos.