📝 + Apuntes
🧲**System.out.print —> toString()
**
System.out.println - Javapapers
How do I print my Java object without getting "SomeType@2f92e0f4"?
La POO es un paradigma: una teoría que nos suministra una base y modelo estandarizado para resolver problemas con nuestro código.
Este paradigma se compone de 4 elementos:
Clases
Propiedades
Métodos
Objetos
Además, se basa en los siguiente 4 pilares:
Encapsulamiento
Abstracción
Herencia
Polimorfismo
La orientación a objetos también está muy ligado a la UML (Unified Modeling Language o, en español, Lenguaje de Modelado Unificado).
Parte de la orientación a objetos es analizar un problema, pero adicionalmente también:
🔍 Observamos.
📈Graficamos,
👩🏻💻 y finalmente programamos.
👉 Y es en la parte de graficar donde el UML es un tema clave.
Los objetos son todas las cosas que tienen propiedades y comportamientos, estos pueden ser:
🍎 Físicos
Hace referencia a todo aquello que sea tangible. Ejemplo: un User (usuario)
💭 Conceptuales
Hace referencia a todo aquello que sea intangible, es decir, que no podemos tocar. Ejemplo: una Session (sesión del usuario).
Los objetos tienen propiedades, que son las caracterìsticas del objeto en sí. Cuando estés analizando un objeto es un error común poner el resultado en lugar del atributo.
Por ejemplo, puedes decir que tenemos un auto de color verde y cuando pensamos en la propiedad decimos que es verde, pero en realidad verde es el posible valor que tiene ese objeto auto. El verdadero atributo seria «color».
<aside> 👉 Los objetos y sus propiedades (o atributos) siempre serán nombrados en sustantivos.
</aside>
Los objetos también tienen comportamientos, que son todas las operaciones, actividades o funcionalidades del objeto. Se describen en verbos o sustantivo + verbo. En el ejemplo del User, sus comportamientos serían: login()
-logout()
(verbos) , makeReport()
(sustantivo + verbo) .
Las clases son los modelos sobre el cual los objetos son construidos, y permiten generar más objetos. Para ello se debe abstraer el objeto: analizamos nuestros objetos, traemos sus atributos y entonces generamos modelos llamada Clase.
Tomemos como un ejemplo una estrella: