Sunteți pe pagina 1din 42

PROGRAMACIN ORIENTADA A OBJETOS

TRABAJO COLABORATIVO TRES


ACT 14.

UNIVERSIDAD ABIERTA Y A DISTANCIA UNAD


CEAD GIRARDOT
2014

TRABAJO COLABORATIVO TRES

DIRECTOR DEL CURSO:


CESAR ORLANDO JIMENES ANGARITA

ESTUDIANTE:
RODRIGO ROJAS MANRIQUE
COD: 3104321

GRUPO
301403_1

UNIVERSIDAD ABIERTA Y A DISTANCIA UNAD


CEAD GIRARDOT
2014

INTRODUCCIN
En este documento podemos encontrar conceptos bsicos del curso PROGRAMACION
ORIENTADA A OBJETOS, referentes a la Unidad tres, Capitulo siete, ocho y nueve del
Modulo, desarrollando la totalidad de las preguntas exigidas para el aprendizaje autnomo
y colaborativo desde el aporte individual.
En este documento esta evidenciada la investigacin realizada individualmente para
consolidar un trabajo final, el cual est completamente estructurado segn las preguntas de
investigacin y consulta que fuern direccionadas y seleccionadas por el Director del Curso
para lograr aprendizaje desde la colectividad y creacin de un nico trabajo por medio de
diferentes conceptos.
.

OBJETIVOS

OBJETIVO GENERAL:

Identificar los diferentes conceptos de la Programacin Orientada a Objetos

OBJETIVOS ESPECIFICOS:

Desarrollar el trabajo individualmente

Desarrollar el trabajo a travs de los diferentes aportes de los compaeros

Mejorar el proceso para acceder al conocimiento

Permitir una adecuada utilizacin de la plataforma

Identificar las fortalezas y debilidades del estudiante

Establecer un adecuado mtodo de estudio

Establecer responsabilidades frente a los trabajos propuestos.

DESARROLLO DE LAS PREGUNTAS PROPUESTAS.


1. Que es una clase en Programacin Orientada a Objetos?
Es una plantilla mediante la cual se crean los diferentes objetos requeridos para la solucin
del problema. Los objetos son instancias de la clase, es decir; la generalizacin o
abstraccin de un tipo especfico de objetos.
Son los datos y operaciones comunes a un conjunto de objetos.
2. Cules son las caractersticas importantes de las clases en Programacin
Orientada a Objetos?
Abstraccin: Cada objeto en el sistema sirve como modelo de un agente abstracto que
puede realizar trabajo, informar y cambiar su estado, y comunicarse con otros objetos en
el sistema sin revelar cmo se implementan estas caractersticas. Los procesos, las
funciones o los mtodos pueden tambin ser abstrados y cuando lo estn, una variedad de
tcnicas son requeridas para ampliar una abstraccin.
Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse
pertenecientes a una misma entidad, al mismo nivel de abstraccin. Esto permite aumentar
la cohesin de los componentes del sistema. Algunos autores confunden este concepto con
el principio de ocultacin, principalmente porque se suelen emplear conjuntamente.
Principio de ocultacin: Cada objeto est aislado del exterior, es un mdulo natural, y cada
tipo de objeto expone una interfaz a otros objetos que especfica cmo pueden interactuar
con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su

modificacin por quien no tenga derecho a acceder a ellas, solamente los propios mtodos
internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden
cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos
secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un
acceso directo a los datos internos del objeto de una manera controlada y limitando el grado
de abstraccin. La aplicacin entera se reduce a un agregado o rompecabezas de objetos.
Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir
el mismo nombre, al llamarlos por ese nombre se utilizar el comportamiento
correspondiente al objeto que se est usando. O dicho de otro modo, las referencias y las
colecciones de objetos pueden contener objetos de diferentes tipos, y la invocacin de un
comportamiento en una referencia producir el comportamiento correcto para el tipo real
del objeto referenciado. Cuando esto ocurre en tiempo de ejecucin, esta ltima
caracterstica se llama asignacin tarda o asignacin dinmica. Algunos lenguajes
proporcionan medios ms estticos (en tiempo de compilacin) de polimorfismo, tales
como las plantillas y la sobrecarga de operadores de C++.
Herencia: las clases no estn aisladas, sino que se relacionan entre s, formando una
jerarqua de clasificacin. Los objetos heredan las propiedades y el comportamiento de
todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el
encapsulamiento permitiendo a los objetos ser definidos y creados como tipos
especializados de objetos preexistentes. Estos pueden compartir (y extender) su
comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente
agrupando los objetos en clases y estas en rboles o enrejados que reflejan un

comportamiento comn. Cuando un objeto hereda de ms de una clase se dice que


hay herencia mltiple. (4)

Nombre de la clase. Sirve para identificar a todos los objetos que tengan unas
determinadas caractersticas.

Conjunto de atributos. Dato miembro. El valor de los atributos representan el estado


de cada objeto.

Conjunto de mtodos. Funciones miembro. Permite que los objetos cambien de


estado, dependiendo del estado anterior que tuviera el objeto.

Niveles de acceso para proteger ciertos miembros de la clase.

Normalmente, se definirn como ocultos (privados) los atributos y visibles (pblicos) los
mtodos.
3. Que es una interface en Programacin Orientada a Objetos?
Es una especie de plantilla para la construccin de clases. Normalmente una interfaz se
compone de un conjunto de declaraciones de cabeceras de mtodos (sin implementar, de
forma similar a un mtodo abstracto) que especifican un protocolo de comportamiento para
una o varias clases. Adems, una clase puede implementar una o varias interfaces: en ese
caso, la clase debe proporcionar la declaracin y definicin de todos los mtodos de cada
una de las interfaces o bien declararse como clase abstract. Por otro lado, una interfaz
puede emplearse tambin para declarar constantes que luego puedan ser utilizadas por otras
clases.

Una interfaz puede parecer similar a una clase abstracta, pero existen una serie de
diferencias entre una interfaz y una clase abstracta:

Todos los mtodos de una interfaz se declaran implcitamente como abstractos y


pblicos.

Una clase abstracta no puede implementar los mtodos declarados como abstractos,
una interfaz no puede implementar ningn mtodo (ya que todos son abstractos).

Una interfaz no declara variables de instancia.

Una clase puede implementar varias interfaces, pero slo puede tener una clase
ascendiente directa.

Una clase abstracta pertenece a una jerarqua de clases mientras que una interfaz no
pertenece a una jerarqua de clases. En consecuencia, clases sin relacin de herencia
pueden implementar la misma interfaz.

4. Como se define una clase en Programacin Orientada a Objetos?


Una clase se define a travs de una sintaxis, la cual permite la identificacin plena del
Objeto. Todas estas sintaxis varan de acuerdo al leguaje de programacin utilizado.
Para crear una clase se utiliza la palabra reservada class y a continuacin el nombre de la
clase. La definicin de la clase se pone entre las llaves de apertura y cierre. El nombre de la
clase empieza por letra mayscula.

5. Que es una variable variables miembro en Programacin Orientada a


Objetos?
[modificadores] tipo nombre Variable {, ... ...};
Modificadores:

De visibilidad o modo de acceso: public, package, protected, private. Por defecto es


package.

final: indica que una vez que se le da valor a la variable sta no puede ser modificada.

static: indica que se trata de una variable de clase (no ligada a la existencia de un objeto
concreto).

Los nombres de los campos, por convenio, suelen ser un sustantivo escrito en
minsculas y si el nombre es compuesto cada nueva palabra empieza con mayscula.
Ejemplos: numero

cadena

miBiblioteca.

En ocasiones, el nombre del campo comienza por una o dos letras minsculas que expresan
la clase o tipo de campo que es. Ejemplos: iNumero sCadena

bMiBiblioteca.

Los atributos pueden ser inicializados en la declaracin.

6. Que es una variables miembro de objeto en Programacin Orientada a


Objetos?

Son las que tienen atributos especficos de un Objeto, son de carcter privado para controlar
el acceso y mantener la coherencia.
7. Que es una variables finales en Programacin Orientada a Objetos?
Una clase puede contener atributos de valor constante o variables finales. Este tipo de
atributo se indica con la palabra reservada final. Las variables finales se suelen declarar
adems como variables de clase (static final) por razones de ahorro de memoria ya que, al
no modificar su valor slo suele ser necesaria una copia en memoria por clase (y no una por
instancia).
Por ejemplo, en la clase Crculo:

Public class Circulo {


// Atributos o variables miembro
Private static final double PI = 3.141592; // Constante de clase
Private double radio;
// Declaracin de mtodos ...
}

La palabra reservada final indica que el atributo debe comportarse como una constante, es
decir, no puede ser modificada una vez declarada e inicializada. Por otro lado, se puede

separar la declaracin de la inicializacin de la variable final, realizndose sta ms tarde.


En este caso, el valor asignado a la variable final puede hacerse en funcin de otros datos o
de llamadas a mtodos, con lo que el valor de la constante no tiene porqu ser el mismo
para diferentes ejecuciones del programa.
8. Como se define el concepto de abstraccin en Programacin Orientada a
Objetos?
Cada objeto en el sistema sirve como modelo de un agente abstracto que puede realizar
trabajo, informar y cambiar su estado, y comunicarse con otros objetos en el sistema sin
revelar cmo se implementan estas caractersticas. Los procesos, las funciones o los
mtodos pueden tambin ser abstrados y cuando lo estn, una variedad de tcnicas son
requeridas para ampliar una abstraccin.
9. Como se define el concepto de encapsulado en Programacin Orientada a
Objetos?
Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma
entidad, al mismo nivel de abstraccin. Esto permite aumentar la cohesin de los
componentes del sistema. Algunos autores confunden este concepto con el principio de
ocultacin, principalmente porque se suelen emplear conjuntamente.
10. Como se definen arreglos y cadenas en Java?
Los arreglos son estructuras de datos de tipo estticas dado que antes de su utilizacin
necesariamente tenemos que definir el tamao de estas y no podemos manejar este tipo de

asignacin en tiempo de ejecucin dado que por la misma naturaleza de la estructura no lo


permite.
Los arreglos se caracterizan por que guardan datos primitivos que nos permitirn formas
estructuras de datos ms complejas. En Java los arreglos se definen de la siguiente manera.
Class test
public static void main(String args[]){
int n = new int[5]; //Arreglo de enteros
flota notas;
notas = new flota[26]; //Definimos un arreglo tipo float
}
En el ejemplo anterior hemos definido un el arreglo n donde guardamos datos primitivos de
tipo entero, cuando definimos un arreglo todas las posiciones del arreglo tienen como dato
guardado null a menos que se diga lo contrario.
Tambin tenemos diferentes tipos de declaraciones de un array :
1. char cad[], p;
cad es un array tipo char y p es una variable tipo char
2. int []v, w;
Tanto v como w son arreglos tipo int.
El tamao es una constante representada por una variable protegida final.
final int N=20;
float vector[];
vector =new float[N];
Las Cadenas son un conjunto del tipo String, pero an as puede ser tratado como un tipo
primitivo, por ejemplo, para inicializar una cadena no es necesario hacer un new, si no que
se puede crear como una variable normal.
Ej. String micadena = cadena de prueba; // creada como tipo primitivo

Aunque si se desea, se puede iniciar con el new.


Ej. String micadena = new String (cadena de prueba); // creada como objeto
Los array igualmente son objetos y se deben crear segn la estructura.
11. Cules son los flujos de E/S en Java?
La entrada y salida estndar son flujos de datos que actan como canales de comunicacin
permitiendo la interaccin entre un programa y su entorno en el sistema. En Java podemos
tener acceso a estos flujos de datos desde la clasejava.lang.System.

SALIDA ESTANDAR
La salida estndar est asociada por defecto a la terminal del sistema, es decir que el
resultado de los datos enviados a la salida se observa en pantalla a menos que su destino sea
modificado. Existen dos salidas con diferentes propsitos, una es la propiamente
denominada salida estndar la cual se utiliza para la salida regular de datos, y la otra es la
salida estndar de errores la cual se utiliza para la salida de errores.

LA SALIDA DE DATOS: SYSTEM.OUT


La salida estndar de datos para uso normal (abreviada y en ingls: StdOut) esta
representada

por

un

objeto PrintStream llamado out.

La

clase PrintStream es

una

implementacin especial de FilterOutputStream y por lo tanto tambin de la clase


base OutputStream, de modo que mostrar datos en pantalla es tan sencillo como referirnos a
la variable out e invocar el mtodo void println(String x).

Recordando un ejercicio bsico que probablemente todo novato haya echo, aqu vemos la
lnea de cdigo que utilizamos para escribir la famosa cadena de texto Hola Mundo:
System.out.println("Hola Mundo");

= SALIDA hola mundo

Para mostrar como re-definir la salida estndar pondremos en practica el ejemplo


mencionado anteriormente sobre modificar el destino de out y err hacia dos archivos
diferentes.
Una forma de modificar las salidas es utilizando los mtodos estticos void
setOut(PrintStream out) y void setErr(PrintStream err) de la propia clase System.
Necesitamos abrir flujos de datos hacia los nuevos destinos de cada salida, para cada una se
envuelve un objeto FileOutputStream(File file) con un objeto PrintStream(OutputStream
out).
System.setOut(new PrintStream(new FileOutputStream("salida_normal.txt")));
System.setErr(new PrintStream(new FileOutputStream("salida_error.txt")));
System.out.println("Esta es la salida estandar normal");
System.err.println("Esta es la salida estandar de errores");
throw new RuntimeException("Error Fatal");
ENTRADA ESTANDAR
La entrada estndar de datos (abreviada y en ingls: StdIn) est representada por un
objeto InputStream. La clase InputStream es la clase base en el paquetejava.io para
manejar los flujos entrantes de bytes (8-bit). En la mayora de los casos no queremos leer
directamente en bytes un flujo de datos, sino que esperamos un formato humano. Aunque

en esta ocasin no contaremos desde el principio con mtodos tan prcticos como void
println(String x)

en el caso de la salida estndar, veremos cmo realizar una lectura

directamente en bytes, tambin utilizaremos implementaciones ms avanzadas de


tipo Reader para leer caracteres y luego tendremos en cuenta las nuevas posibilidades
introducidas a partir de J2SE 5.0.
System.out.println("> Introduce un caracter...");
int in = System.in.read();
System.out.println("> Has introducido: " + in);

En general cuando se lee desde la entrada estndar y se pretende obtener algn dato
especfico

la

clase Scanner puede

reemplazar

la

utilizacin

de

BufferedReader simplificando el trabajo de lectura.


No es algo habitual, pero se puede re-definir la entrada estndar con el mtodo esttico void
setIn(InputStream in) de la clase System.
12. Cmo se definen la Gestin de Excepcin y errores en Java?
Una excepcin es un evento excepcional que ocurre durante la ejecucin de un programa,
y que interrumpe el flujo normal de las sentencias.
Dentro de un programa son muchos los tipos de errores que pueden conducir a provocar
una excepcin, desde un desbordamiento de memoria o un disco duro estropeado hasta un
disquete protegido contra escritura, un intento de dividir por cero o intentar acceder a un
array fuera de sus lmites.

Sin embargo, si repasamos atentamente la definicin anterior veremos que las excepciones
se dan durante la ejecucin del programa. Por tanto vemos ya que, a diferencia de lo que
hemos venido haciendo hasta el momento donde corregamos errores que se detectaban en
tiempo de compilacin, mediante el manejo y tratamiento de excepciones pasamos a
trabajar en otro plano: el plano de ejecucin de nuestros programas. Programas que,
necesariamente, habrn superado la fase de compilacin y estarn por tanto ya libres de este
tipo de errores.

Su gestin permite la deteccin y correccin de errores en ejecucin

Simplifican los programas ya que se diferencia el cdigo normal del cdigo de


tratamiento de errores

Se crean programas ms robustos ya que en muchos casos si no se trata la excepcin


el programa no compila

Slo se deben usar cuando no se puede resolver la situacin anmala directamente


en ese contexto Se tiene que seguir haciendo el control de errores habitual

Errores

Representan situaciones de error normalmente no recuperables

El programador normalmente no tiene que proporcionar un tratamiento para ellas

Ejemplos

No se puede localizar y cargar una clase, Se agota la memoria

13. Cmo se define la herencia de Excepciones en Java?


Si alguno de los mtodos heredados lanza excepciones en la superclase, tambin las lanzar
en la clase derivada, con la particularidad de que adems, slo podr lanzar las mismas
excepciones que en la superclase.
class A{
void funcion() throws EOFException
{
}
}
class B extends A{
void funcion() throws EOFException, FileNotFoundException
//ERROR!
{
}
}

Los mtodos heredados en una clase derivada, pueden lanzar menos excepciones que en la
definicin original, pero nunca pueden lanzar excepciones nuevas que no se lanzaran en la
definicin original.

En una clase que va a ser superclase de otras, se puede indicar en sus mtodos que estos
lanzan excepciones que realmente no se llegan a producir, al menos en la definicin
original, con miras a que en las redefiniciones de las subclases derivadas s se puedan lanza
14. Cmo es manejo de excepciones: try - catch finally en Java?
La sentencia try...catch consiste de un bloque try, el cual contiene una o ms
sentencias y cero o ms bloques catch, conteniendo sentencias que especifican que hacer si
una excepcin es lanzada en el bloque a probar [try block]. Esto es, si desea que el
bloquetry suceda y si este no sucede, desea controlar el paso al bloque catch. Si cualquier
sentencia dentro de un bloque try (o en una funcin llamada dentro del bloque try) lanza
una excepcin, el control inmediatamente cambia al bloque catch. Si no sucede el
lanzamiento de ninguna excepcin en el bloque try, el bloque catch es saltado. El
bloque finally se ejecuta despus de los bloques try y los bloques catch se ejecutan pero
antes de las sentencias seguidas de la sentencia try...catch.

La sentencia catch Puede utilizar un slo bloque catch para manipular todas las excepciones
que pueden ser generadas en el bloque try, o puede utilizar bloques
separados catch cada uno de los cuales manipula un tipo particular de excepcin.
Un slo bloque de captura Utiliza un slo bloque catch de sentencias try...catch (bloque de
recuperacin) para ejecutar un cdigo manejador de errores para cualquier excepcin
lanzada en el bloque try.
Un slo bloque catch tiene la siguiente sintaxis:
Catch (catchID) {
Sentencias
}

finally se puede utilizar para ejecutar el cdigo de expression2 de la sintaxis anterior sin
tener en cuenta si se ha generado una excepcin durante la ejecucin de expresin. El tipo
de expresin no contribuye al valor de la expresin de su conjunto; el tipo devuelto cuando
no se produce una excepcin es el ltimo valor de expresin. Cuando la excepcin s se
produce, no se devuelve ningn valor y el flujo de control se transfiere al siguiente
controlador de excepciones coincidente que aparece ms arriba en la pila de llamadas. Si no
se encuentra ningn controlador de excepciones, el programa finaliza. Antes de que se
ejecute el cdigo de un controlador coincidente o de que finalice el programa, se ejecuta el
cdigo de la bifurcacin finally.
En el cdigo siguiente se muestra el uso de la expresin try...finally.
15. Cmo se maneja el lanzamiento de excepciones: throw throws en Java?

Sirve para indicar que en caso de que se produzca una excepcin, el mtodo en el que se
produce la misma, no la manejar, sino que la excepcin ser manejada por un mtodo
invocante o superior.
Esto hace necesario y obligatorio que esta palabra clave se use en conjunto con throw, ya
que si el mtodo en el que se produce la excepcin no tratar la misma, se debe lanzar
(throw) a un mtodo superior.
Asi por ejemplo si en constructor de la clase alumno, nosotros sabemos que la edad de un
alumno no puede ser ni cero ni negativa, podemos usar la palabra clave throws para indicar
que no se manejar dicha excepcin en la creacin del objeto Alumno, sino en un mtodo
superior.
Clase Alumno

1. public class Alumno


2. {

3.

private String nombre;

4.

private String apellido;

5.

private Integer edad;

6.
public Alumno(String nombre, String apellido, Integer edad)

7.

throws Exception
8.
9.
10.

{
this.nombre = nombre;
this.apellido = apellido;

11.

if (edad <= 0){


throw new Exception("La debe edad ser mayor a cero");

12.
13.

}else{

14.

this.edad = edad;

15.
16.

}
}

17.

18.

public String getNombre() {

19.
20.

return nombre;
}

21.

22.

public void setNombre(String nombre) {

23.
24.

this.nombre = nombre;
}

25.

26.

public String getApellido() {

27.
28.

return apellido;
}

29.

30.

public void setApellido(String apellido) {

31.
32.

this.apellido = apellido;
}

33.

34.
35.

public Integer getEdad() {


return edad;

36.
37.

}
}

38.

16. Qu son los mtodos en programacin Orientada a objetos?


Conjunto de instrucciones a las que se les asocia un nombre de modo que si se desea
ejecutarlas, slo basta o referenciarlas a travs de dicho nombre en vez de tener que
escribirlas. Dentro de estas instrucciones es posible acceder con total libertad a la
informacin almacenada en los campos, pertenecientes a la clase dentro de la que el
mtodo se ha definido. Por lo que los mtodos premiten manipular los datos almacenados
en los objetos.
Sintaxis:
()
{
instrucciones;
}
Tipo devuelto: Todo mtodo puede devolver un objeto como resultado de la ejecucin de
las instrucciones que lo forma, aqu de indica el tipo del dato al que pertenece este
objeto.
Si no devuelve nada se indica void y si devuelve algo es obligatorio finalizar la
ejecucin de sus instrucciones con return que indica el objeto a devolverse.
Parmetro: opcionalmente todo mtodo puede recibir en cada llamada una lista de
objetos a los que podr acceder durante la ejecucin de sus instrucciones. Aqu se indica
cules son los tipos de datos de estos objetos y cul es el nombre con el que harn
referencia
las
instrucciones
de
mtodo
a
cada
uno
de
ellos.
An que los objetos que puede recibir el mtodo pueden ser diferentes, cada vez que se
solicite su ejecucin siempre han de ser los mismos tipos y han de seguir el orden
establecido en parmetros.

ejemplo:
class persona
{
string nombre;
int edad;
string RFC;
void cumpleaos ()
{
edad ++;
}
}
Sintaxis para llamar a los mtodos de un objeto:
.(parmetro)
Parmetro: valores que se desean dar a los parmetros del mtodo al hacer la llamada. Si
el mtodo no toma parmetros se deja vaco.
Ejemplo: llamada al mtodo cumpleaos de un objeto persona llamado p
p.cumpleaos();

17. Qu es una instanciacin de las clases en programacin orientada a objetos


En definitiva, tcnicamente hablando, cuando se instancia o crea una instancia de una clase,
lo que se hace es reservar una porcin determinada de memoria en la que se almacenarn
los datos, y las direcciones de memoria de sus mtodos, etc.
Mientras la variable no est instanciada, apuntar a nil, null o, dicho en trminos ms
simples a "nada". En el momento de su instanciacin dicha variable apuntar a una
direccin de memoria... digamos por ejemplo $FFE3CCA0.

Aqu definimos la variable:

MiVarible = ClasePersona
MiVariable apuntar a Nil puesto que no ha sido instanciada...
MiVariable: {nil}
Aqu creamos:
MiVariable = ClasePersona.Create()
MiVariable apuntar a una direccin en particular...
MiVariable: {$FFE3CCA0, Nombre:'', Edad:0, ...}
Cuando est instanciada por lo general, dependiendo de lo definido en el constructor, se
inicializan algunos campos. En el ejemplo se ilustra que el campo o atributo Nombre se
inicializa con un string vaco, y que Edad con el valor 0.
18. Qu es unas referencias a Objeto e Instancias en programacin orientada a ob
jetos?
Las referencias a Objeto son variables usadas cuando se crea una nueva clase y se aade
otro tipo de dato, estas variables o referencias a objetos son compatibles con las instancias
de subclase de su tipo.
19. Cmo se define un constructor en Java?
Un constructor es un mtodo especial de una clase que se llama automticamente siempre
que se declara un objeto de esa clase.
Su funcin es inicializar el objeto y sirve para asegurarnos que los objetos siempre
contengan valores vlidos.

Cuando se crea un objeto en Java se realizan las siguientes operaciones de forma


automtica:
1. Se asigna memoria para el objeto.
2. Se inicializan los atributos de ese objeto con los valores predeterminados por el
sistema.
3. Se llama al constructor de la clase que puede ser uno entre varios.
El constructor de una clase tiene las siguientes caractersticas:

Tiene el mismo nombre que la clase a la que pertenece.

En una clase puede haber varios constructores con el mismo nombre y distinto
nmero de argumentos (se puede sobrecargar)

No se hereda.

No puede devolver ningn valor (incluyendo void).

Debe declararse pblico (salvo casos excepcionales) para que pueda ser invocado desde
cualquier parte donde se desee crear un objeto de su clase.

MTODO CONSTRUCTOR POR DEFECTO

Si para una clase no se define ningn mtodo constructor se crea uno automticamente por
defecto.
El constructor por defecto es un constructor sin parmetros que no hace nada. Los atributos
del objeto son iniciados con los valores predeterminados por el sistema.
20. Cmo se define el operador new en Java?
Es el encargado de crear instancias de una clase, es decir, los objetos que tienen las
caractersticas de la clase.
21. Cmo se Define el operador punto (.) en Java?
El operador punto (.) se utiliza para acceder a las variables de instancia y los mtodos
contenidos en un objeto, mediante su referencia a objeto:
referencia_a_objeto.nombre_de_variable_de_instancia
referencia_a_objeto.nombre_de_mtodo( lista-de-parmetros );
22. Cmo se define la referencia this en Java?
This se utiliza como un valor de referencia especial, se utiliza cuando se requiere una
referencia para un objeto de una clase actual, si hay objetos que utilicen el mismo cdigo se
le pone This a cada uno de ellos.
23. Cmo se define la destruccin del objeto en Java?
Java nos facilita la vida, permitindonos crear tantos objetos como necesitemos y
liberndonos de la tediosa tarea de destruirlos cuando no sigan siendo necesarios. El
entorno de ejecucin de Java elimina los objetos cuando determina que no se van a volver a

usar, o sea, que han dejado de ser necesarios. Este proceso se conoce como recoleccin de
basura.
Un objeto puede ser escogido por el recolector de basura cuando deja de estar referenciado.
Hay dos principales motivos por los cuales sucede esto. El primero es que variable que
tiene la referencia salga de su mbito. El segundo es cuando se borra explcitamente la
referencia mediante la seleccin de un valor cuyo tipo de dato sea una referencia a null.
Destruccin de objetos (liberacin de memoria)
En Java no hay destructores como en C++. El sistema libera automticamente la
memoria de los objetos que ya han perdido la referencia, esto es, objetos que ya no tienen
ningn nombre para acceder a ellos, al haber llegado por ejemplo al final del bloque en el
que haban sido definidos, porque a la referencia se le ha asignado el valor null o porque a
la referencia se le ha asignado la direccin de otro objeto. A esta caracterstica de Java se la
conoce como garbage collection (recogida de basura).
En Java no es extrao que varias variables de tipo referencia apunten al mismo objeto. Java
lleva internamente un contador de cuntas referencias tiene cada objeto. El objeto ser
borrado cuando el nmero de referencias sea cero. Como ya se ha explicado, una forma de
hacer que un objeto quede sin referencia es cambiar sta a null, como puede verse en este
ejemplo:
// Cdigo 1

ObjetoRef = null;
24. Cmo se define la destruccin personalizada finalize en Java?
A veces una clase mantiene un recurso que no es de java como un descriptor de archivo o
un tipo de letra del sistema de ventanas. En este caso sera acertado utilizar la finalizacin
explicita, para asegurar que dicho recurso se libera, esto se hace mediante la destruccin
personalizada finalize.
25. Cmo se definen los paquetes de utilidades en Java?

java.lang: Fundamental para el lenguaje. Incluye clases como String o StringBuffer.

java.io: Para la entrada y salida a travs de flujos de datos, y ficheros del sistema.

java.util: Contiene colecciones de datos y clases, el modelo de eventos, facilidades


horarias, generacin aleatoria de nmeros, y otras clases de utilidad.

java.math: Clases para realizar aritmtica con la precisin que se desee.

java.text: Clases e interfaces para manejo de texto, fechas, nmeros y mensajes de


una manera independiente a los lenguajes naturales.

java.security: Clases e interfaces para seguridad en Java: Encriptacin RSA.

26. Cules son los paquetes para el desarrollo grfico en Java?


PAQUETES PARA EL DESARROLLO GRFICO
java.applet: Para crear applets y clases que las applets utilizan para comunicarse con su
contexto.
java.awt: Para crear interfaces con el usuario, y para dibujar imgenes y grficos.

javax.swing: Conjunto de componentes grficos que funcionan igual en todas las


plataformas que Java soporta.
javax.accesibility: Da soporte a clases de accesibilidad para personas discapacitadas.
java.beans: Para el desarrollo de JavaBeans.
27. Cules son los paquetes para el desarrollo en red en Java?
PAQUETES PARA EL DESARROLLO EN RED
java.net: Clases para aplicaciones de red.
java.sql: Paquete que contiene el JDBC, para conexin de programas Java con Bases de
datos.
java.rmi: Paquete RMI, para localizar objetos remotos, comunicarse con ellos e incluso
enviar objetos como parmetros de un objeto a otro.
org.omg.CORBA: Facilita la posibilidad de utilizar OMG CORBA, para la conexin entre
objetos distribuidos, aunque est codificados en distintos lenguajes.
org.omb.CosNaming : Da servicio al IDL de Java, similar al RMI pero en CORBA
Actualmente hay tres ediciones de Java. Cada una de ellas se corresponde con una
plataforma que incluye una serie de funciones, paquetes y elementos del lenguaje (la API).
JAVA SE. Java Standard Edition.
Antes se la conoca como J2SE. Permite escribir cdigo Java relacionado con la creacin de
aplicaciones y applets en lenguaje Java comn.
JAVA EE. Java Enterprise Edition.
Todava conocida como J2EE. Pensada para la creacin de aplicaciones Java empresariales
y del lado del servidor.

Java ME. Java Micro Edition.


Tambin conocida como J2ME. Pensada para la creacin de aplicaciones Java para
dispositivos mviles, PDAs y otros dispositivos electrnicos.
28. Qu es la herencia en programacin orientada a objetos?
En programacin orientada a objetos la herencia es, despus de la agregacin o
composicin, el mecanismo ms utilizado para alcanzar algunos de los objetivos ms
preciados en el desarrollo de software como lo son la reutilizacin y la extensibilidad. A
travs de ella los diseadores pueden crear nuevas clases partiendo de una clase o de una
jerarqua de clases preexistente (ya comprobadas y verificadas) evitando con ello el
rediseo, la modificacin y verificacin de la parte ya implementada. La herencia facilita la
creacin de objetos a partir de otros ya existentes e implica que una subclase obtiene todo el
comportamiento (mtodos) y eventualmente los atributos (variables) de su superclase.
29. Qu es la jerarqua en programacin orientada a objetos?
La jerarqua es una propiedad que permite una ordenacin de las abstracciones. Las dos
jerarquas ms importantes de un sistema complejo son:
Estructura de clases (jerarqua es-un(is-a):generalizacin/especializacin)
Estructura de objetos (jerarqua parte de(part-of):agregacin)
30. Qu es la Herencia mltiple en programacin orientada a objetos?
Hace referencia a la caracterstica de los lenguajes de programacin orientada a objetos en
la que una clase puede heredar comportamientos y caractersticas de ms de una superclase.

Esto contrasta con la herencia simple, donde una clase slo puede heredar de una
superclase.
Lenguajes que soportan herencia mltiple en su mayor parte son: C++, Centura SQL
Windows, CLOS, Eiffel, Object REXX, Perl y Python.
La herencia mltiple permite a una clase tomar funcionalidades de otras clases, como
permitir a una clase llamada MusicoEstudiante heredar de una clase llamada Persona, una
clase llamada Msico, y una clase llamada Trabajador. Esto puede ser abreviado
como MusicoEstudiante : Persona, Msico, Trabajador.
31. Qu es una declaracin en programacin orientada a objetos?
Ya se ha dicho que una clase es nicamente una especificacin. Para poder utilizar la
funcionalidad contenida en la misma, se debeninstanciar las clases.
Creacin por Declaracin.
Un objeto se puede instanciar de una forma simple, declarando una variable del tipo de la
clase.
En Ppal.h:
#include "ObjGraf.h"
En Ppal.cpp:
Pulsando dos veces en OnCreate de la pestaa Events del editor de objetos
de PpalFrm:
//-------------------------------------------------void __fastcall TPpalFrm::FormCreate(TObject *Sender)
{
TObjGraf ObjGraf1();
TObjGraf ObjGraf2;
}

//--------------------------------------------------

32. Cules son las limitaciones en la herencia en programacin orientada a


objetos?
Cmo y cundo se deriva una clase de otra es puramente decisin del programador. Esto
puede parecer obvio, pero es una limitacin. El diseador de un programa debe decidir al
momento de la compilacin quien hereda qu, de quin, cmo y cundo se lleva a cabo la
herencia.
QUE NO SE PUEDE HEREDAR.
Tal y como en la vida real, en C++ no todo se puede transmitir a travs de la herencia. Esto
se puede considerar en un principio como una desventaja o limitacin, pero en realidad solo
algunos casos especiales inconsistentes por definicin con la herencia:
1.- Constructores.
2.- Destructores.
3.- Nuevos operadores definidos por el usuario.
4.- Relaciones friend.
33. Qu es una la clase Object en programacin orientada a objetos?
Es una superclase de todas las clases da Java. Todas las clases derivan, directa o
indirectamente de ella. Si al definir una nueva clase, no aparece la clusula extends, Java
considera que dicha clase desciende directamente de Object.

34. Qu es una extensin de Clases en programacin orientada a objetos?


La popularidad de la OOP hizo que se incluyesen conceptos de OOP a lenguajes como Ada,
BASIC, Fortran o Pascal, que no eran orientados a objetos. Esto a menudo trajo problemas
de compatibilidad y mantenibilidad del cdigo, al no estar plenamente preparados estos
lenguajes para muchos de los conceptos y principios de diseo de la OOP.
Son complementos especialmente refirindonos a libreras que nos permiten ejecutar
aplicaciones especiales, tales como los applets, y los de red.
35. Qu es una Subclase en programacin orientada a objetos?
Subclase es un objeto de una superclase, y dado que la que una superclase puede tener
muchas subclases, el conjunto de objetos representado por una superclase normalmente es
ms grande que el conjunto de objetos representado por cualquiera de las subclases de esa
superclase.
36. Qu es un mtodo en programacin orientada a objetos?
es una subrutina cuyo cdigo es definido en una clase y puede pertenecer tanto a una clase,
como es el caso de los mtodos de clase o estticos, como a un objeto, como es el caso de
los mtodos de instancia. Anlogamente a los procedimientos en los lenguajes imperativos,
un mtodo consiste generalmente de una serie de sentencias para llevar a cabo una accin,
un juego de parmetros de entrada que regularn dicha accin o, posiblemente, un valor de
salida (o valor de retorno) de algn tipo.
37. Qu es una sobrecarga de mtodo en programacin orientada a objetos?

Es la capacidad de un lenguaje de programacin, que permite nombrar con el mismo


identificador diferentes variables u operaciones.
En programacin orientada a objetos la sobrecarga se refiere a la posibilidad de tener dos o
ms funciones con el mismo nombre pero funcionalidad diferente. Es decir, dos o ms
funciones con el mismo nombre realizan acciones diferentes. El compilador usar una u
otra dependiendo de los parmetros usados. A esto se llama tambin sobrecarga de
funciones.
Tambin existe la sobrecarga de operadores que al igual que con la sobrecarga de funciones
se le da ms de una implementacin a un operador.
El mismo mtodo dentro de una clase permite hacer cosas distintas en funcin de los
parmetros.
Java no permite al programador implementar sus propios operadores sobrecargados, pero s
utilizar los predefinidos como el +. C++, por el contrario si permite hacerlo.
38. Qu es un Apples y Web en Java?
Un applet Java es un applet escrito en el lenguaje de programacin Java. Los applets de
Java pueden ejecutarse en unnavegador web utilizando la Java Virtual Machine (JVM), o
en el AppletViewer de Sun.
Entre sus caractersticas podemos mencionar un esquema de seguridad que permite que
los applets que se ejecutan en el equipo no tengan acceso a partes sensibles (por ej. no
pueden escribir archivos), a menos que uno mismo le d los permisos necesarios en el
sistema; la desventaja de este enfoque es que la entrega de permisos es engorrosa para el

usuario comn, lo cual juega en contra de uno de los objetivos de los Java applets:
proporcionar una forma fcil de ejecutar aplicaciones desde el navegador web.
En Java, un applet es un programa que puede incrustarse en un documento HTML, es decir
en una pgina web. Cuando un navegador carga una pgina web que contiene un applet,
este se descarga en el navegador web y comienza a ejecutarse. Esto permite crear
programas que cualquier usuario puede ejecutar con tan solo cargar la pgina web en su
navegador.
Java Web es la implementacin de referencia de la especificacin Java Network Launching
Protocol (JNLP), desarrollada por Sun Microsystems (actualmente Oracle), mediante la
cual permite arrancar aplicaciones Java que estn en un servidor web de aplicaciones
comprobando previamente si el cliente tiene la versin actualizada de dichaaplicacin. Si
no es as descargar la ltima versin y se ejecutar en local. El arranque de dichas
aplicaciones puede ser efectuado mediante enlaces en una pgina web o bien a travs de
enlaces en el escritorio cliente. Mediante est tecnologa se asegura que una aplicacin es
distribuida siempre en su ltima versin.
Los ficheros que contienen la informacin sobre donde se encuentra la aplicacin, versin,
etc. tienen la extensin .jnlp.
Un ejemplo de esta tecnologa es la de un servidor web donde se encuentra una pgina web
con enlaces a aplicaciones Java. Cada uno de estos enlaces apuntar a ficheros.jnlp que
indicarn la ruta de la aplicacin en este u otro servidor. En ese momento arrancar
automticamente Java Web Start y comprobar la seguridad y si el usuario tiene la ltima
versin instalada en su equipo; si no es as, la descargar y ejecutar.

39. Cules son los protocolos para Trabajo en la red en Java?


El protocolo SSL/TLS tiene multitud de aplicaciones en uso actualmente. La mayora de
ellas son versiones seguras de programas que emplean protocolos que no lo son. Hay
versiones seguras de servidores y clientes de protocolos como el http, nntp, ldap, imap,
pop3, etc.
Existen multitud de implementaciones del protocolo, tanto comerciales como de libre
distribucin. Una de las ms populares es la biblioteca openssl, escrita en C y disponible
bajo licencia GNU. Incluye todas las versiones del SSL y el TLS y un gran nmero de
algoritmos criptogrficos, algunos de los cuales ni tan slo son empleados en el estndar
TLS. La biblioteca est disponible en el URL http://www.openssl.org. En esa misma
direccin se puede encontrar una lista de referencias a otras implementaciones gratuitas y
comerciales de los protocolos SSL y TLS y aplicaciones que los emplean.
40. Cules son las consideraciones sobre la seguridad en las applet en Java?
El modelo de seguridad para applets en Java trata al applet como: cdigo no fiable
ejecutndose dentro de un entorno fiable. Por ejemplo, cuando un usuario instala una
copia de un navegador Web en una mquina est confiando que su cdigo ser funcional
en el entorno. Una applet, por el contrario, se carga desde la red sin ninguna comprobacin
de su fiabilidad.
41. Cmo se define la clase applet en Java?
Para

crear un applet necesitamos

paquete java.applet.*;

escribir una

clave

de la

clase Applet

del

import java.applet.*;
public class MiApplet extends Applet
{
//Cuerpo del ''applet''.
}
42. Cmo se definen la clase url en Java?
La Clase URL Contiene constructores y Mtodos Para La Manipulacin de URL
( Universal Resource Locator ), es ESTO, UN Objeto o Servicio en Internet.
Ejemplo:
La Clase del EJEMPLO TestURL.java Muestra el USO de Los Cuatro Tipos de
constructores y de los Mtodos de la Clase URL. Adems, en el Programa en s utiliza la
Clase URLEncoder prr convertir Una Cadena conteniendo Espacios y Otra en La que se
Sigue el Formato x-www-form-url .
java.net import *.;
clase testURL {
principales (String [] args) {static void pblicas
TestURL obj = new testURL ();
try {
System.out.println ("Constructor principio simple URL prrafo");

obj.display (nueva direccin URL ("http://nereida.deioc.ull.es"));


System.out.println ("Constructor de Cadena URL prr + Directorio");
obj.display (nueva direccin URL ("http://nereida.deioc.ull.es/ ~ cleon"));
System.out.println ("con Constructor protocolo sanitario, acogida y Directorio");
obj.display (nueva direccin URL ("http", "nereida.deioc.ull.es", "/ ~ cleon"));
System.out.println ("con Constructor protocolo sanitario, host, puerto y Directorio");
obj.display (nueva direccin URL ("http", "nereida.deioc.ull.es", 80, "/ ~ cleon"));
System.out.println ("Construye Una direccion absoluta a partir de la \ n" +
"Direccion del host y URL Una relativea");
URL baseURL = new URL ("http://nereida.deioc.ull.es/ ~ cleon");
obj.display (nueva URL (baseURL "/ psd /"));
System.out.println ("Uso de URLEncoder prr CREAR Una Cadena x-www-formurl");
System.out.println (URLEncoder.encode ("http://espacio tilde ~ mas + com..."));
}
catch (MalformedURLException e) {
System.out.println (e);
}
}

/ / Mtodo prr Poder presentar en la Pantalla contradictorio De Una Direccin URL


vaco pantalla (URL url) {
System.out.print (url.getProtocol () + "");

System.out.print (url.getHost () + "");


System.out.print (url.getPort () + "");
System.out.print (url.getFile () + "");
System.out.println (url.getRef ());
/ / Presentamos la Direccin Completa de Como Una Cadena
System.out.println (url.toString ());
System.out.println ();
}
}

CONCLUSIONES

A travs del desarrollo de la actividad propuesta por el Director del curso, logramos
construir nuestro propio conocimiento de acuerdo a los temas propuestos sobre los
diferentes conceptos de la Programacin Orientada a Objetos.
La consolidacin de este trabajo nos deja una visin ms clara y efectiva de la POO y nos
permiti utilizar las diferentes posibilidades de aprendizaje que nos brinda la universidad a
travs de sus mtodos y formas de transmitir y transformar el conocimiento para nuestro
beneficio y el de los dems.

BIBLIOGRAFIA

MODULO DE PROGRAMACION ORIENTADA A OBJETOS

http://www.nebrija.es/~abustind/Informatica/MetodologiaII/Introduccion.pdf

http://us2.php.net/manual/es/keyword.class.php

https://www.fdi.ucm.es/profesor/jpavon/poo/1.1.Objetos%20y%20Clases.pdf

http://www.ehu.es/~ljrf/AED/2010/materiales/POO.pdf

http://www.eumed.net/libros-gratis/ciencia/2012/12/arreglos-cadenas.html

http://geneura.ugr.es/~amorag/cursos/java/

https://www.fdi.ucm.es/profesor/jpavon/poo/2.13.EntradaySalida.pdf

http://darkbyteblog.wordpress.com/2011/03/08/java-flujos-de-datos-entrada-ysalida-estandar/

http://www2.caminos.upm.es/departamentos/matematicas/Fdistancia/PIE/java/tema
sj/tjava13.pdf

http://web.fdi.ucm.es/profesor/lgarmend/ArcGISJava/Temas/Tema
%2010%20Excepciones.pdf

http://docentes.uni.edu.ni/fec/Giovanni.Saenz/archivos/Manejo%20de
%20Excepciones%20XI.pdf

http://puntocomnoesunlenguaje.blogspot.com/2012/04/introduccion-java.html

http://www.slideshare.net/javi2401/entorno-grfico-en-java-presentation

http://es.wikipedia.org/wiki/Herencia_(inform%C3%A1tica)

http://es.wikipedia.org/wiki/Herencia_m%C3%BAltiple

http://es.wikipedia.org/wiki/M%C3%A9todo_(inform%C3%A1tica)

S-ar putea să vă placă și