Descripción de las clases, los objetos y cómo se relacionan.
Como dicta el titulo de este punto un objeto es precisamente eso: "Una clase en movimiento". Podemos ver la relación entre clase y objeto de este modo.
Supongamos por ejemplo una clase llamada "Mamífero". Como en la "vida misma" tu te puedes encontrar por la calle con "Personas", "Perros", "Gatos" ... que evidentemente pertenecen a esa clase "Mamífero", pero no te vas a encontrar con un "Mamífero" a secas.
Más o menos esa es la relación entre clase y objeto. Una clase es una especificación de cómo debe ser un objeto para pertenecer a esa clase y por consiguiente un objeto es un ejemplar individual de una clase.
Tomando como ejemplo nuestra clase "Fichas" vemos que todas las fichas tienen que tener un color como característica que la defina. Es decir, nuestros objetos "ficha" serán fichas blancas, negras, etc.
A la hora de "actuar" por tanto se hará sobre un objeto en concreto. En un objeto se puede acceder a sus métodos y a las variables miembro que tenga, siempre claro que sean ambos declarados en la clase como accesibles.
La accesibilidad para métodos y variables depende en primera instancia de la accesibilidad a la clase a la que pertenecen. Si la clase nos es accesible entonces depende en segunda instancia de estas normas:
Accesibilidad de variables y métodos: depende de los siguientes modificadores de acceso que se ponen (o no) delante de la variable en su declaración o del método en su definición.
Supongamos por ejemplo una clase llamada "Mamífero". Como en la "vida misma" tu te puedes encontrar por la calle con "Personas", "Perros", "Gatos" ... que evidentemente pertenecen a esa clase "Mamífero", pero no te vas a encontrar con un "Mamífero" a secas.
Más o menos esa es la relación entre clase y objeto. Una clase es una especificación de cómo debe ser un objeto para pertenecer a esa clase y por consiguiente un objeto es un ejemplar individual de una clase.
Tomando como ejemplo nuestra clase "Fichas" vemos que todas las fichas tienen que tener un color como característica que la defina. Es decir, nuestros objetos "ficha" serán fichas blancas, negras, etc.
A la hora de "actuar" por tanto se hará sobre un objeto en concreto. En un objeto se puede acceder a sus métodos y a las variables miembro que tenga, siempre claro que sean ambos declarados en la clase como accesibles.
La accesibilidad para métodos y variables depende en primera instancia de la accesibilidad a la clase a la que pertenecen. Si la clase nos es accesible entonces depende en segunda instancia de estas normas:
Accesibilidad de variables y métodos: depende de los siguientes modificadores de acceso que se ponen (o no) delante de la variable en su declaración o del método en su definición.
- "public": Da accesibilidad completa a la variable, se puede ver desde la propia clase, dentro y fuera del mismo "package" y en cualquier "subclase" de la clase en la que se declara, ya esté en el mismo o en distinto "package".
- "protected": Se puede acceder desde la propia clase, desde el mismo "package" y desde cualquier "subclase", pero no se puede ver desde una clase de otro "package".
- "private": Solo se puede acceder desde la propia clase.
- "package": Es la opción por defecto (como si no se pone nada). Proporciona accesibilidad desde el propio "package" y por tanto lógicamente desde la propia clase y además desde cualquier subclase que esté dentro del mismo "package".
Victorino Blanco González
Forma parte del equipo DesarrolloWeb.com y MercadoProfesional.com