Un problema del mundo real consiste de varias colecciones de entidades interactuando entre ellas y con su medio
Enviado por Albert • 3 de Julio de 2018 • 10.150 Palabras (41 Páginas) • 485 Visitas
...
Sin embargo, un objeto está separado del medio que lo rodea por algún tipo de envoltura, esta envoltura es precisamente la clase. Esta separación es la que determina la unidad del objeto, es decir, lo convierte en algo independiente. La envoltura oculta los detalles relacionados con la construcción interior del objeto (encapsulamiento), esto significa que sólo conocemos del objeto aquello que es revelado por sus métodos. Un objeto tiene acceso a todas sus partes: propiedades, métodos y definición de eventos.
Ejemplo de descripción de una clase:
class Animal {
// atributos:
String kindOfAnimal;
String name;
int numberOfLegs;
int height;
int length;
String color;
boolean hasTail;
boolean isMammal;
boolean spellingCorrect;
// método principal
public static void main ( String [ ] args ) {
Animal objeto; // instancia de un objeto de la clase
objeto = new Animal ( ); // creación del objeto
objeto.kindOfAnimal = "Cat"; // cambios del estado del objeto
objeto.name = "The Cat";
objeto.numberOfLegs = 4;
objeto.height = 50;
objeto.length = 110;
objeto.color = "Black";
objeto.hasTail = true;
objeto.isMammal = true;
System.out.println ( objeto.spellingCorrect );
}
}
- Modificadores o especificadores de acceso
Los modificadores de acceso indican el nivel de protección que un atributo o método como miembros de una clase poseen y determinan quién puede acceder a los mismos y desde qué ámbito. Los niveles de protección definidos en Java son: de paquete (predeterminado), público, privado y protegido.
Normalmente los atributos de una clase de objetos se declaran como private (privados) para ocultarlos o protegerlos (encapsulación) de otras clases, y sólo pueden ser accedidos a través de los métodos públicos de esa clase, es decir, que un usuario de una determinada clase no puede escribir código en base a la estructura interna del objeto, sino sólo en base a la interfaz pública (miembros públicos de la clase), si tratase de accederse desde un método externo, como por ejemplo el main, el compilador detectaría un error.
Si un miembro de una clase se declara como public (público), es accesible desde cualquier método definido dentro o fuera de su clase o paquete actual.
El modificador de acceso predeterminado para los miembros de una clase es el de paquete en Java, y puede ser accedido desde todas las otras clases del mismo paquete, siendo éste una colección de clases relacionadas entre sí y agrupadas bajo un nombre. Un paquete puede a su vez contener a otro paquete.
Para especificar que un miembro de una clase es predeterminado, se declara sin modificadores que indiquen el control de acceso. Si lo que se pretende es tener un control preciso de cómo va a ser utilizada nuestra clase por otras, deberemos utilizar los modificadores de acceso en vez del predeterminado.
Un miembro declarado protected (protegido) se comporta exactamente igual que uno privado para los métodos de cualquier otra clase, excepto para los métodos de las clases del mismo paquete o de sus subclases con independencia al paquete al que pertenezcan, para las que se comporta como un miembro público.
Este modificador de acceso se verá más adelante cuando se revise lo correspondiente a la herencia, ya que es cuando tiene sentido su uso.
Ejemplo de descripción de una clase que utiliza especificadores de acceso para sus atributos:
class Animal {
public String kindOfAnimal;
public String name;
public int numberOfLegs;
public int height;
public int length;
public String color;
boolean hasTail; // acceso predeterminado
protected boolean isMammal;
private boolean spellingCorrect;
}
- Métodos
Un método es una colección de instrucciones o sentencias paso a paso que ejecutan una tarea específica y en particular en el lenguaje Java, éste pertenece a una clase y no puede tener anidado la definición de otro método.
Los métodos forman la interfaz o medio de acceso a la estructura interna de los objetos; ellos definen las operaciones que se pueden realizar con sus atributos y el conjunto de todos éstos se corresponde con el conjunto de mensajes a los que los objetos de una clase pueden responder.
El concepto de clase incluye la idea de la ocultación de datos, que básicamente consiste en que no se puede acceder a los atributos directamente, sino hay que hacerlo a través de los métodos de la clase.
Esto quiere decir que, de forma general, el usuario de la clase solo tendrá acceso a uno o más métodos que le permitirán acceder a los miembros privados, ignorando la disposición de éstos, dichos métodos se denominan métodos de acceso.
De esta forma se consiguen dos objetivos importantes:
- Que el usuario no tenga acceso directo a la estructura de datos interna de la clase, para que no pueda generar código basado en esa estructura.
- Que si en un momento determinado
...