Este repositorio contiene ejemplos de código para ilustrar los conceptos fundamentales de la Programación Orientada a Objetos (OOP) utilizando TypeScript. A través de estos ejemplos, vamos a explorar los principios de Encapsulamiento, Herencia, Polimorfismo, y Abstracción, que son pilares esenciales de la OOP.
La Programación Orientada a Objetos es un paradigma de programación basado en el concepto de "objetos", que pueden contener datos, en forma de campos (conocidos como atributos o propiedades), y código, en forma de procedimientos (conocidos como métodos). La OOP nos ayuda a organizar y estructurar software de manera que sea más flexible, escalable y fácil de mantener.
- Descripción: Este ejemplo muestra cómo podemos usar la abstracción para definir una clase base
VehiculoBasecon propiedades y métodos comunes para vehículos. Utilizamos el encapsulamiento para proteger el estado interno de nuestros objetos y exponer solo lo necesario a través de métodos públicos.
- Descripción: Acá, extendemos la clase
VehiculoBasepara crear dos nuevas clases:AutoExtyMotoExt, demostrando cómo la herencia nos permite reutilizar y extender el comportamiento y los atributos de la clase base.
- Descripción: En este ejemplo, ilustramos el polimorfismo permitiendo que objetos de diferentes clases derivadas de
VehiculoBasesean tratados de manera uniforme, mostrando cómo se pueden invocar métodos específicos de clase a través de una referencia a la clase base.
Para explorar estos ejemplos, simplemente cloná el repositorio y compila los archivos .ts para ver los resultados en acción:
git clone https://github.com/patrigarcia/POO_Examples
cd <POO_Examples>¡Tus contribuciones y sugerencias son bienvenidas! Si tenés ideas sobre cómo mejorar estos ejemplos o querés compartir tus propios ejemplos de OOP con la comunidad, no dudes en abrir un pull request o issue.

