Beruflich Dokumente
Kultur Dokumente
utilizando
JAVA
Clase
Figura x y
despliega()
mueve()
Una Clase es un conjunto de propiedades (datos) y mtodos (procesos) relacionados entre si. Grficamente se representa con un cuadro con puntas redondeadas, su nombre generalmente se escribe con una letra inicial mayscula y las restantes minsculas, si aparece ms de una palabra, el inicio de cada una se escribe con una mayscula, por ejemplo: Persona, Figura, AnimalAcuatico
Propiedad
nombre
Una Propiedad o Variable es un dato de Tipo Primitivo (TDP) o un objeto. Por ejemplo, una variable x, nombrePersona, imagen, archivo. Grficamente representamos a una propiedad como un rectngulo su nombre generalmente se escribe con minsculas,si aparece ms de una palabra, al inicio de cada una se escribe letra mayscula
Objeto
circulo x y
despliega()
mueve()
Un Objeto es una instancia (caso particular) de una clase. El nombre de un objeto es una referencia hacia las propiedades y mtodos. Un objeto apunta hacia propiedades y mtodos y es relocalizable, esto significa que No apunta hacia una direccin de memoria especfica. Grficamente se representa de forma similar que una clase la diferencia es que generalmente el nombre de un objeto se inicia con minsculas.
Mtodo
despliega()
Un Mtodo es un proceso abstracto y contiene un conjunto finito de instrucciones. Es decir, un fragmento de cdigo al que se llama, acompaado de unos datos de entrada, y produce una determinada salida. Para esto tenemos que indicar el tipo de los primitivos de entrada, el tipo de los de salida, el nombre del mtodo y el trabajo que realizara.
[tipodatoSalida] [nombreMtodo] ([tipodatoEntrada] [nombredatoEntrada]) { //Codigo del mtodo return datoSalida; } int sumaCinco(int entrada) { return entrada + 5; }
Grficamente representamos a un mtodo con un crculo, su nombre es similar al de las propiedades y termina con parntesis donde van los parmetros. Al conjunto de mtodos de una clase se le llama la Interfase de la Clase. Las clases y mtodos de Java se encuentran descritos en la API (Application Program Interface) java.sun.com/api
Clase Automovil
class Automovil { // PROPIEDADES String color ; int velocidadMaxima ; // MTODOS void asignaColor(String _color) { color = _color; } String indicaColor() { return color; } }
Constructor
Figura
Figura()
Un Constructor es un mtodo pblico que lleva el mismo nombre de la clase a la que pertenece.
Se ejecuta automticamente cuando se crea una instancia de la clase (objeto), generalmente el desarrollador lo utiliza para asignar valores iniciales a las propiedades del objeto. En Java automticamente cada clase tiene un constructor con el mismo nombre de la clase sin argumentos de entrada. Si el usuario escribe su propio constructor entonces debe utilizarlo.
Sobrecarga de mtodos
Figura
Figura()
Figura(String)
La Sobrecarga se da cuando se usa en una misma clase, el mismo nombre de un mtodo pero con diferentes argumentos. Las operaciones de los mtodos, generalmente, son diferentes. Cualquier mtodo en una clase es posible sobrecargarlo, tanto los constructores como los mtodos de clase o de instancia
Sobrecarga de mtodos
class Automovil { String color ;
}
}
indicaColor()
Las Propiedades y Mtodos de Clase se crean una sola vez en cada clase y los comparten los objetos (instancias) de esa clase. Se identifican porque los precede la palabra reservada static.
autoDeportivo
class Automovil { String color ; // PROPIEDAD DE INSTANCIA static int cuenta; // PROPIEDAD DE CLASE // CONSTRUCTORES Automovil() { color = "blanco"; cuenta++; } Automovil(String _color) { color = _color; cuenta++; } // METODOS DE INSTANCIA void asignaColor(String _color) { color = _color; } String indicaColor() { return color; } // METODO DE CLASE static void contador() { System.out.println("Creadas " + cuenta + " instancias"); } }
Accesibilidad
Accesibilidad public protected package private protected private Clases si si si si si La misma clase llama al mtodo La subclase llama al mtodo Las clases del mismo paquete llaman al mtodo Cualquier clase llama al mtodo si Subclases si si Paquete si si si Todas si
La Accesibilidad se indica con el calificador public, private, protected o abstract en las propiedades y mtodos de una clase.
Herencia
Composicin Agregacin
Herencia
Persona
Alumno
Profesor
La Herencia es una relacin entre clases en donde la subclase clase hereda las propiedades y mtodos de la superclase. Se representa mediante relaciones es_un con una flecha con punta hueca dirigida de la clase derivada a la superclase.
Las Relaciones de Herencia se obtienen mediante la generalizacin y la especializacin. La Generalizacin se hace a partir de un conjunto de clases y se busca una clase que las generaliza (agrupa). La Especializacin se genera cuando a partir de una clase genrica se obtienen clases que son casos particulares de la misma.
Sobreescritura
Figura
pinta()
Circulo
pinta()
Triangulo
Se le llama Sobreescritura cuando un mtodo existente en una superclase se declara en una subclase y ambos tienen el mismo nombre, en este caso el mtodo de la clase derivada sobreescribe a la superclase. En este ejemplo el mtodo pinta() de Circulo sobrescribe al de Figura mientras que Triangulo utiliza el mtodo pinta() que hereda de Figura
Polimorfismo
Figura x y color pinta()
Circulo radio
Triangulo
pinta()
Isoceles
base altura pinta()
El Polimorfismo se da cuando un mtodo aparece en dos clases diferentes con el mismo nombre y argumentos.
Polimorfismo
// DECLARA EL ARREGLO DE OBJETOS Figura arreglo[] = new Figura[6]; // DETERMINA QUE OBJETO SE ALMACENA EN CADA ELEMENTO arreglo[0] = new Circulo(20,30,10 ,Color.blue); arreglo[1] = new Triangulo(50,220,Color.red); arreglo[2] = new Circulo(200,100,40 ,Color.cyan); arreglo[3] = new Cuadrado(120,40,30,Color.green); arreglo[4] = new Triangulo(250,70,Color.gray); arreglo[5] = new Isoceles(173 ,204 ,50 ,66 ,new Color(0100 ,150 ,0xFF)); // LLAMA AL METODO pinta PARA CADA ELEMENTO APLICANDO POLIMORFISMO for(int i=0; i < arreglo.length; i++)
arreglo[i].pinta();
Composicin
Automovil
Chasis
Motor
Llanta
Composicin
Motor
Automovil
Chasis
Llanta
La Composicin consiste en incluir (o formar) una clase a otra(s) como una propiedad para crear clases complejas. En este caso se reutiliza la interfase de las clases componente. Las clases estn unidas mediante la relacin parte_de con una flecha con punta de rombo. Los objetos que lo componen son privados
Composicin
class Automovil { String marca ; Motor motor ; Chasis chasis ; Llanta llanta[] = new Llanta[4];
Automovil(String _marca) { marca = _marca; motor = new Motor(4); chasis = new Chasis(azul); for( int i = 0; i < llanta.length; i++ ) llanta[i] = new Llanta(deportiva); } void asignaMotor(Motor _motor) { motor = _motor; } }
Agregacin
Bosque
Arbol
La Agregacin es una relacin que permite crear clases complejas mediante la agrupacin de una coleccin de una clase existente (es una forma ms dbil que la composicin). Las clases estn unidas mediante la relacin parte_de con una flecha con punta de rombo hueca. En Java las implementaciones de Collection son ejemplos de esta relacin
Paquetes
Escuela
Alumno Materia
Profesor
Salon
Un Paquete agrupa a un conjunto de clases se indica en un programa con la palabra reservada import subdirectorio1.subdirectorio2.clase En la variable de ambiente CLASSPATH debe estar la ruta de la ubicacin de las clases que forman al paquete subdirectorio1\subdirectorio2