El Lenguaje Unificado de Modelado permite crear diagramas de clases para especificar nombre, atributos, y relaciones entre las clases
Haga una paráfrasis de la definición de una clase, objeto o instancia, atributo, metodo. Incluir un ejemplo
Dentro de la Programación Orientada a Objetos entiendo por clase una plantilla en donde se define la idea de algo a crear (objeto). Dentro de la clase se definen los atributos que son las caracteristicas y se les da un valor predefinido. Por otro lado los métodos son las acciones que todo objeto resultante de esa clase realiza. Entonces un objeto sería el resultado de usar esa plantilla y crear algo.
Por ejemplo si investigamos por qué Plutón no es un planeta probablemente encontraremos que para que un cuerpo celeste sea considerado planeta tiene que cumplir con ciertas caracteristicas, y esto no quiere decir que todos los planetas de nuestro sistema solar sean exactamente iguales entre sí, sino que se encuentran dentro de los siguientes criterios:
- Orbitan alrededor del Sol
- Cuentan con masa suficiente para tener una forma esférica
- Limpian su órbita vecina de cualquier otro cuerpo
Plutón al no cumplir con el tercer criterio no puede ser considerado planeta, por lo que actualmente unicamente tenemos 8 planetas en nuestro Sistema Solar, eso sí, todos los planetas tienen ciertas diferencias pero comparten ciertas caracteristicas como nombre, volumen, distancia del sol, entre otras, inclusive hay ciertas caracteristicas que no comparten como el tener anillos o satelites naturales, pero no por eso dejan de ser planetas, al contrario es lo que hace único a cada uno. También los planetas ejercen ciertas acciones como el girar al rededor del sol y rotar sobre su eje.
Si trasladamos lo anterior a la POO podriamos decir que "Planeta" sería nuestra clase, las instancias de esa clase, es decir los objetos, serían Mercurio, Venus, Tierra, y los demás planetas que conocemos. Las caracteristicas de cada planeta como su volumen y dimensiones serían los atributos, y finalmente las acciones como girar y rotar vendrían a ser los métodos.
Las clases son ideas que se hacen realidad hasta que son materializadas en un objeto.
Revisa las siguientes diapositivas: POO explicada con dibujitos
Los prototipos son un mecanismo por el cual los objetos en JavaScript heredan ciertas caracteristicas. Las clases incluyen el prototype, basicamente la nueva sintaxis permite que todo el proceso se haga mas facilmente y parecido a los demás lenguajes de programación, simplemente es una nueva forma de escribir el código pero ambas sintaxis son equivalentes en JavaScript.