# data[].attributes.headline
Aplicaciones prácticas de la programaciónorientada a objeto en diversos lenguajes de programación.

# data[].attributes.subject
Aplicaciones prácticas de la programaciónorientada a objeto en diversos lenguajes de programación.

# data[].attributes.body
#include &lt;iostream&gt;
using namespace std;

// Clase base (superclase)
class Animal {

public:
void comer() {
cout &lt;&lt; &quot;El animal come.&quot; &lt;&lt; endl;
}

virtual void hacerSonido() {
cout &lt;&lt; &quot;El animal hace un sonido.&quot; &lt;&lt; endl;
}
};

// Clase derivada (subclase)
class Perro : public Animal {
public:
void hacerSonido() {
cout &lt;&lt; &quot;El perro ladra.&quot; &lt;&lt; endl;
}
};

// Clase derivada (subclase)
class Gato : public Animal {
public:
void hacerSonido() {
cout &lt;&lt; &quot;El gato maulla.&quot; &lt;&lt; endl;
}
};

int main() {
Animal* animal; // Objeto de tipo Animal
Perro perro; // Objeto de tipo Perro
Gato gato; // Objeto de tipo Gato

animal = &amp;perro;
animal-&gt;hacerSonido(); // Polimorfismo: llama al método de la clase
derivada (Perro)

animal = &amp;gato;
animal-&gt;hacerSonido(); // Polimorfismo: llama al método de la clase
derivada (Gato)

return 0;
}

En este ejemplo, tenemos una clase base llamada &quot;Animal&quot; que tiene dos
métodos: &quot;comer&quot; y &quot;hacer Sonido&quot;. La clase &quot;Perro&quot; y la clase &quot;Gato&quot; son
subclases que heredan de la clase base &quot;Animal&quot;. Cada una de las subclases
redefine el método &quot;hacer Sonido&quot; de acuerdo con el sonido que produce cada
tipo de animal.

En la función principal, creamos objetos de tipo &quot;Perro&quot; y &quot;Gato&quot;. Luego,
utilizamos un puntero de tipo &quot;Animal&quot; para referirnos a objetos tanto de tipo
&quot;Perro&quot; como de tipo &quot;Gato&quot;. Esto ilustra el polimorfismo, ya que el puntero
&quot;animal&quot; puede apuntar a diferentes tipos de objetos en tiempo de ejecución y
llamar al método &quot;hacer Sonido&quot; correspondiente de cada clase derivada.

# data[].attributes.headline
Características de la programación orientada a objeto

# data[].attributes.subject
Características de la programación orientada a objeto

# data[].attributes.headline
Conceptos Fundamentales de la Programación orientada a Objeto POO

# data[].attributes.subject
Conceptos Fundamentales de la Programación orientada a Objeto POO

# data[].attributes.body
Definicion de programcion orientada a objetos.

La prgramacion orientada a objetos es un paradigma basado en el campo de clases y objetos.

Beneficios de la programción orientada a objetos.

Protege la informacion

Se pueden construir sistemas mas complejos

evita la duplicacion de codigo y permite la reutilizacion del mismo.

trabajo en equipo.

La POO convierte cosas complejas en estructuras simples reproducibles.

Elementos de la programación orientada a objetos : clase, objetos,propiedadesy metodos.

Clases : es un molde o una plantilla que definimos en el codigo para crear objetos. crear un objeto de una clase se le llama instancias.

Objeto: es una unidad dentro de un programa informatico que tiene un estado y un comportamiento.

Propiedades: son las cualidades que tiene un objeto.

Métodos: son las acciones que va a realizar el objeto.

# data[].attributes.headline
Historia de la programación orientada a objeto

# data[].attributes.subject
Historia de la programación orientada a objeto

# data[].attributes.body
https://miro.com/app/board/uXjVMGUVJNU=/?share_link_id=779084021003