Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/10/2005, 16:08
Avatar de Takka
Takka
 
Fecha de Ingreso: octubre-2005
Mensajes: 22
Antigüedad: 19 años, 5 meses
Puntos: 0
Hola:

Bueno, voy a ver si soy capaz de hecerme entender:

La encapsulación:

A groso modo define que partes de una clase son visibles a otras o no.

Imagina que tienes un coche, y no tienes ni idea de mecánica. Cuando arrancas el coche le das al contacto. Bien el contacto sería la parte visible, pero lo que hace que el motor del coche arranque es una sucesión de acontecimientos. Esta es la parte no visible.

En Java tu decides que partes de una clase son privadas y cuales no. A ti lo que te interesa es saber si el motor arrancó.

El polimorfismo:

Seguimos con los cohes.

Un objeto, es una "cosa", que tiene unas propiedades, los atributos, y que es capaz de realizar determinadas tareas, los métodos.

Imagínate ahora que tienes un parking. Aquí entrarán coches de muchos tipos, turismos, utilitarios, descapotables ... todos son objetos de tipo coche pero sabes distinguir que tipo de coche es cada uno.

En Java es posible determinar una clase Parking que sólo acepte coches pero que los coloque en una zona determinada del parking según el tipo de cohe.

La herencia:

Y más y más coches.

Ahora nos centramos en un sólo modelo de coche, que salió en el año 1980, por ejemplo.

Bien, este modelo tubo mucho éxito en los 80, así que la compañia decidió sacar en los 90 un nuevo modelo que mejorase el anterior, pero sin que éste perdiera sus capacidades, atributos y métodos.

En el año 2000, volvieron con otro modelo que mejoró el del 90, pero seguía teniendo las características del de los 90, y por tanto también el de los 80.

En Java, a todo el proceso de mejora del modelo de coche se le denomina herencia.

La sobreescritura de métodos:

Como me gustan los coches... uffff.

Tenemos un coche, un deportivo por ejemplo, que viene con un alerón atrás para que en las curvas no derrape y así poder tomarlas con más seguridad, método de estabilidad del coche.

Pues aún así no te gusta o no crees que sea suficiente, y le pones otro alerón para sustituir el que tienes, que es más grande o que tiene unas características que se adaptan mejor a tu forma de conducir.

Java permite la sobreescritura de métodos heredados para que los adaptes a tus necesidades sin tener que definir otros alternativos.

La sobrecarga de métodos:

Pues como no, más coches.

Igual que en el polimorfismo podemos ingresar varios objetos del mismo tipo y diferenciarlos, Java es capaz de diferenciar métodos sólo por los parámetros que se le pasan.

Hay coches que tienen en la parte del volante, una única palanca para poner la radio, o el CD, o las luces etc...

Esa palanca, el métodos, es la misma para todas esas acciones, mismo nombre del método, pero dependiendo de como la acciones, parámetros, realizará una tarea u otra.

Java sabe distinguir métodos con el mismo nombre sólo por el tipo o cantidad de parámetros que reclamen.

Y ya no hay mas coches por hoy.

Para los errores que pudieran saltar a la hora de compilar, normalmente los entornos de desarrollo tienen unas guías que te ayudan a manejarte con los programas, pero es cierto que si te salta 20.000 veces el mismo error, por fuerza lo acabas aprendiendo.