You are on page 1of 14

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

+ sumar(n1: int, n2: int):
double
- operacin(): void



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();


Paquete3.ClasePublica.imprimir();
Paquete1.ClaseDefault.saludo
Paquete2.ClaseDefault.saludo
Paquete3.ClasePublica.nombre

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.










UNIDAD 4
rbol de derivacin
Animales

Carnvoros Herbvoros Insectvoros

Marinos Terrestres Marinos Terrestres Marinos Terr.
Voladores Voladores Voladores

Vertebrados Invertebrados Vertebrados Invertebrados Vertebrados
Invertebrado

+ Animales


+ nombre: String
+ especie: String
+ tamao: String
+ habitad: String
+ sexo: String
+color: String
- comen(): void
- respiran(): void
- defecan(): void
- reproduccin(): void


















+ Carnvoro
+ Carne: String
+ Sangre: String
+ tipoCarne: String
+ numPatas: Int
- comer(): void

+ Herbvoro
+ planta: String
+ sangre: String
+ tipoHierba: String
+ numPatas: Int
- comer(): void
+ Insectvoro
+ insecto: String
+ sangre: String
+ tipoInsecto: String
+ numPatas: Int
- comer(): void
+ Marinos
+ especie: String
+ reinoAnimal: String
+ tipoPiel: String
- nadan(): void
- respiran(): void
+ Terrestres
+ especie: String
+ reinoAnimal: String
+ tipoPiel: String
- caminan(): void
- respiran():void
+ Voladores
+ especie: String
+ reinoAnimal: String
+ tipoPiel: String
- vuelan(): void
- respiran(): void
+ Invertebrados
+ tamao: Int
- respiran(): void
- huesos(): boolean
+ Vertebrados
+ numHuesos: Int
- respiran(): void
- huesos(): boolean











EXAMENES
Unidad 2 y 3

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);

You might also like