Instituto Tecnolgico Superior del Sur de Guanajuato.
Ingeniera en Sistemas Computacionales.
Materia: Programacin Orientado a Objetos. Alumno: Jos Mara Lomeli Ibarra. Docente: Nancy Carolina Quintana. Fecha de entrega: 28 de mayo del 2014.
UNIDAD 1 1.- Representacin Grfica de una clase en UML de una nota de venta. Factura - precio: int - pago: int - cambio: int articulo: String - cobro: int - cobro: precio
cambio = cobro
2.- Pasar a cdigo el siguiente diagrama UML,
public class Calculo { public int num1; public int num2; private double resultado; public double sumar(int num1, int num2) { return resultado; } private void operacin(){ } } + Calculo + num1: int + num2: int - resultado: double
UNIDAD 2 1.- Palabra static, accesos a diferentes clases Cuando se ejecuta JVM como el comando java, la JVM trata de invocar el mtodo main de la clase que usted lo especfica; cuando no se han creado objetos de esa clase. Al declarar a main como static, la JVM puede invocar a main sin tener que crear una instancia de la clase. Variables estticas. Es una variable que pertenece a la clase y no se instancia (no se crea como un objeto), las variables estticas son inicializadas solo una vez, al comienzo de la ejecucin, as mismo una variable esttica puede se accedida directamente por el nombre de la clase u no necesita crear un objeto para poder acceder a ella. Mtodos estticos. Es un mtodo que pertenece a la clase y no puede ser instanciado, un mtodo esttico solo puede acceder y llamar a los datos y mtodos estticos. Acceso a diferentes clases. Paquete1.ClasePublica.imprimir(); Paquete1.ClaseDefault.imprimir(); Paquete1.ClaseDefault2.imprimir(); Paquete2.ClaseDefault.imprimir(); Paquete2.ClaseDefault.imprimir(); Paquete3.ClaseDefault.imprimir();
UNIDAD 3 1.- Cuestionario de Introduccin Unidad 3. Qu es y cmo se declara un constructor? Son mtodos no estticos que tienen el mismo nombre de la clase, no devuelven ningn tipo de retorno y se llaman automticamente cuando se crea una clase. Como se declara un constructor: class Circulo { private double radio; public Circulo(double r) { radio } Public Circulo () { Radio = 2.0; } }
Qu es y cmo se declara un constructor?
Es un mtodo cuyo objetivo es el de eliminar toda la memoria que ocup un objeto. En java no es necesaria la definicin de destructores, pues el mismo lenguaje se encarga de la eliminacin y liberacin de la memoria ocupada por el objeto. Finalizador protected void finalize(){ Close(); }
Explica para qu sirve la sobrecarga de constructores El mtodo que realiza la inicializacin del objeto. Normalmente en la mayora de las clases que se crean en programas se sobrecargan los constructores, aunque no es una regla obligatoria. En pocas palabras s un mtodo, pero con caractersticas especiales. De hecho los constructores sobrecargados son bastantes frecuentes; proporcionan medios alternativos para inicializar objetos nuevos de una clase. Un solo constructor se ejecuta cuando se crea un objeto, con independencia de cuantos constructores hayan sido definidos.
En qu consiste la herencia simple? En una clase derivada se hereda exactamente de una clase base(tiene un solo padre)
Qu es la herencia mltiple? Es un tipo de herencia en la que una clase hereda el estado (estructura) y el comportamiento de ms de una clase base. En pocas palabras, hay herencia mltiple cuando una clase hereda de ms de una clase, es decir, existen mltiples clases base (ascendientes o padres) para la clase derivada (descendiente o hija).
En qu consiste la sobre escritura de mtodos y constructores? Consiste en implementar en la subclase un mtodo que yo existo en la sper clase.
2.- Garbage collection Es un proceso de baja prioridad que se ejecuta en la JVM y es el encargado de liberar la memoria que no se emplea. El ser de baja prioridad supone que no pueda estar todo el rato trabajando, y que solo se le asigne su tarea cuando el procesador no tiene un trabajo con mayor prioridad en ejecucin. Si un objeto no tiene referencias desde el Stack (es decir una clase que hereda de otra clase) tiene que ser eliminado. Entre sus contras tenemos que al tratarse de un proceso de prioridad baja, es poco probable de un proceso de prioridad baja, es poco probables que se ejecute cuando se est haciendo un uso intensivo de la CPU. Esto se puede solucionar si se solicita una pasada del Garbage Collector desde el propio cdigo.
This, clases java Hay ocasiones en las que resulta til referirse al objeto desde el que se esta ejecutando un mtodo. En esas ocasiones se pueden usar la referencia especial de objeto This, pero cuidado, siempre de un mtodo no esttico. Esta referencia se suele usar para pasar una referencia al objeto actual como un parmetro para otros mtodos. La siguiente llamada aadira el objeto a una relacin de publicaciones prestadas: ListaPrestados.incluir(This); Se usa This cuando un atributo est oculto por una declaracin de variable o parmetro.
Super Es una palabra reservada en Java que sirve para dos usos diferentes, en primera instancia sirve para llamar a los mtodos heredados desde la clase padre, por ejemplo si tienes una clase que hereda del mtodo mtodo() de su clase padre, entonces para llamarlo puedes hacer: super.metodo();
3.- &: Siempre evala las dos condiciones.
&&: Cuando evala la primera condicin, y si esta es falso ya no evala la siguiente. |: Se evalan ambos, y si por lo menos hay un verdadero entonces es verdadero. ||: Si el primero es falso ya no evala el segundo.
1.- Cul es la salida del siguiente cdigo? public class A { public class B extends A{ A(){System.out.print(Clase A);} int a=1; public void imprime(int a){ String s= Hola System.out.print(a++);{ public static void main(String[] a){ } System.out.print(s+ );} imprime(a++); } a) Hola 1 b) Hola 2 c) Hola 0 d) Hola 3
2.- Encuentra y explica el error en el siguiente cdigo public class Uno{ public class Dos extends Uno{ Uno(int a){ int a=1; System.out.print(Clase Uno+ a);} Dos(){ } System.out.print(Clase Dos+ a);}
Falta crear el constructor de la clase dos, falta que se reciba los mismos parmetros atributos del constructor padre y falta la llave de cierre de clase. 3.- Cdigo que representa una apropiada sobre escritura de mtodos. a) public void Uno(){//more code} public String Uno(int a){//more code} protected int Uno(){//more code}
b) public void Uno(){//more code} public String Dos(int a){more code} protected int Tres(){//more code}
c) public String Tres(){//more code} public String Tres(int a){//more code} protected int Uno(){//more code}
4.- Cual es la salida del siguiente cdigo?
Public class Poo{ a. Falso Boolean op= true b. Verdadero Public static void main(String[] a){ c. Falso Verdadero If((op))System.out.print(Falso ); d. Ninguna de las anteriores System.out.print(Verdadero ); } } 5. Cul es la salida del siguiente cdigo? public class Poo{ Boolean op= true; Int a= 3; Public static void main (String[] a){ while(op){ if(a<=5) a++; else { A++; op=false} } System.out.println(a); } }
a. 7 b. 6 c. 4 d. 5
6.- Explica la diferencia entre sobrecarga y sobre escritura (mtodos, constructores) Sobrecarga de mtodos es escribir el mismo mtodo con la misma firma pero
argumentos diferentes. Sobre escritura es el mismo nombre del mtodo pero diferente comportamiento.
7. Cul es la salida del siguiente cdigo? public class Examen{ private void suma(int a){ System.out.println(Suma 1); } private void suma(int a, int b, int c){ System.out.println(Suma 2); } private void suma(int.. s){ System.out.println(Suma e); } Public static void main(String[] a){ suma(5,6,7); suma(3); suma(9,10); } }
a. Suma 1 b. Suma 3 c. Suma 2 d. Ninguna de las Suma 3 Suma 1 Suma 1 anteriores Suma 4 Suma 2 Suma 3
8. Cdigo que representa una correcta sobrecarga de mtodos. a) public void Uno(){//more code} public String Uno(int a){//more code} protected int Uno(){//more code}
b) public String Tres(String a){//more code} public String Tres(int a){//more code} public String Tres(){//more code}
c) public void Uno(){//more code} public String Dos(int a){//more code} protected int Tres(){//more code}
9. Encuentra y explica el error del siguiente cdigo public class Uno{ public class Dos extends Uno{ Uno(int a){ int a=1; System.out.print(Clase Uno+ a);} Dos(int b){ } System.out.print(Clase Dos+ a); super(b) } Esta mal en el constructor de la clase Dos porque primero se tiene que hacer referencia a su padre no despus. Adems de faltar punto y coma.
10. Cul es la salida del siguiente cdigo? a. Hola 6 Adios b. Adios 6 Hola c. Hola 5 Adios d. Adios 5 Hola
public class Ejemplo{ public class Ejercicio extends ejemplo{ int a=1; int a=2; String saludo= Hola; String saludo=Adios; Ejemplo(){//more code} public static void main(){ Public void imprimir(){//morecode} System.out.println(super.saludo+ + } this.a + super.a + this.a + + this.saludo);