0% encontró este documento útil (0 votos)
10 vistas4 páginas

Conceptos POO

La Programación Orientada a Objetos (P.O.O.) organiza el código en torno a objetos que representan entidades con atributos y métodos. Sus principios fundamentales son encapsulamiento, herencia, polimorfismo y abstracción, que permiten la modularidad y reutilización del código. Los constructores inicializan objetos y, en lenguajes como Java, el 'garbage collector' gestiona la eliminación de objetos innecesarios.

Cargado por

d96249825
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas4 páginas

Conceptos POO

La Programación Orientada a Objetos (P.O.O.) organiza el código en torno a objetos que representan entidades con atributos y métodos. Sus principios fundamentales son encapsulamiento, herencia, polimorfismo y abstracción, que permiten la modularidad y reutilización del código. Los constructores inicializan objetos y, en lenguajes como Java, el 'garbage collector' gestiona la eliminación de objetos innecesarios.

Cargado por

d96249825
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

Conceptos de Programación Orientada a Objetos

Programación Orientada a Objetos (P.O.O.)

La Programación Orientada a Objetos (P.O.O.) es un paradigma de programación basado en


la organización del código en torno a objetos en lugar de funciones y lógica procedimental.
Un objeto es una instancia de una clase y representa una entidad con atributos (datos) y
comportamientos (métodos).

Los principios fundamentales de la P.O.O. incluyen:


- Encapsulamiento: Restringe el acceso a los detalles internos de un objeto, exponiendo solo
lo necesario.
- Herencia: Permite que una clase derive de otra, reutilizando y extendiendo su
funcionalidad.
- Polimorfismo: Permite que diferentes clases respondan a los mismos métodos de manera
distinta.
- Abstracción: Oculta los detalles complejos y expone solo lo esencial.

---

Objeto

Un objeto es la unidad fundamental en la Programación Orientada a Objetos. Representa


una entidad del mundo real con propiedades y comportamientos. Cada objeto es una
instancia de una clase, que define sus atributos y métodos.

Por ejemplo, un "Coche" puede ser un objeto con atributos como "color", "marca" y
"modelo", y con métodos como "acelerar()", "frenar()" y "encender()".

Los objetos permiten modelar la realidad dentro de un sistema de software y facilitan la


reutilización y modularidad del código.

---

Herencia

La herencia es un mecanismo de la P.O.O. que permite a una clase derivar o heredar


propiedades y métodos de otra. La clase que hereda se llama "subclase" o "clase derivada", y
la clase de la que se hereda se llama "superclase" o "clase base".

Ejemplo en Java:
```
class Animal {
void hacerSonido() {
System.out.println("Hace un sonido");
}
}

class Perro extends Animal {


void hacerSonido() {
System.out.println("Ladra");
}
}
```
Aquí, la clase `Perro` hereda de `Animal` y sobrescribe el método `hacerSonido()`,
demostrando polimorfismo.

Beneficios de la herencia:
- Reutilización de código.
- Facilita la extensibilidad y organización.
- Promueve la modularidad del software.

---

Polimorfismo

El polimorfismo permite que un mismo método pueda ejecutarse de diferentes formas


según el objeto que lo invoque. Se divide en dos tipos:
1. Polimorfismo en tiempo de compilación (sobrecarga de métodos): Ocurre cuando varios
métodos tienen el mismo nombre pero diferentes parámetros.
2. Polimorfismo en tiempo de ejecución (sobreescritura de métodos): Permite que una
subclase redefina un método de la superclase.

Ejemplo de sobrecarga:
```
class Calculadora {
int sumar(int a, int b) {
return a + b;
}
double sumar(double a, double b) {
return a + b;
}
}
```

Ejemplo de sobreescritura:
```
class Ave {
void volar() {
System.out.println("Algunas aves pueden volar");
}
}
class Pingüino extends Ave {
void volar() {
System.out.println("Los pingüinos no pueden volar");
}
}
```
---

Encapsulamiento

El encapsulamiento protege los datos restringiendo el acceso a los atributos de una clase y
permitiendo su modificación solo a través de métodos específicos.

```
class Persona {
private String nombre;
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getNombre() {
return nombre;
}
}
```

---

Abstracción

La abstracción oculta los detalles de implementación y solo muestra la funcionalidad


esencial. En Java, se logra mediante clases abstractas y interfaces.

```
abstract class Figura {
abstract void dibujar();
}

class Circulo extends Figura {


void dibujar() {
System.out.println("Dibujando un círculo");
}
}
```
---
Constructor y Destructor

- **Constructor**: Es un método especial que se ejecuta cuando se crea un objeto. Su función


principal es inicializar atributos.
- **Destructor**: En lenguajes como Java, el "garbage collector" se encarga de eliminar
objetos innecesarios, por lo que no hay destructores explícitos como en C++.

Ejemplo de constructor en Java:


```
class Persona {
String nombre;
Persona(String nombre) {
this.nombre = nombre;
}
}
```

También podría gustarte