Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Qu es el desarrollo OO?
* Una nueva forma de pensar acerca del software basndose en abstracciones que existen en el mundo real.
Monitor
marca
encender() apagar()
Bases de datos O. O.
Desarrollo basado en componentes (CORBA COM, EJB, COM) Tecnologa de objetos distribuidos (CORBA, RMI, Plataforma .NET)
Caractersticas de un LPOO
Todo es un objeto. Programa = cjto de objetos que se comunican mediante mensajes Todo objeto es instancia de una clase (tiene un tipo). La clase es el repositorio de comportamiento asociado con un objeto Las clases se organizan en jerarquas de herencia
Promete mejoras de amplio alcance en la forma de diseo, desarrollo y mantenimiento del software
Un lenguaje se dice que est basado en objetos si soporta objetos como una caracterstica fundamental del mismo.
P.O.O.: Tiene tres caractersticas bsicas: debe estar basado en objetos, basado en clases y capaz de tener herencia de clases.
Ob 1
Ob 2
Ob 3 Ob 4
- Polimorfismo
- Encapsulacin
Definicin de Objeto: Es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organizacin.
Estructura de un Objeto
Atributos Estado
Apariencia Variables Campos Objeto
Mtodos
Comportamiento
Funcin Procedimiento Accin Operacin
Estado: Todo objeto posee un estado, definido por sus atributos. Con l se definen las propiedades del objeto, y el estado en que se encuentra en un momento determinado de su existencia.
Comportamiento: Todo objeto ha de presentar una interfaz, definida por sus mtodos, para que el resto de objetos que componen los programas puedan interactuar con l. El equivalente de un objeto en el paradigma estructurado sera una variable. As mismo la instanciacin de objetos equivaldra a la declaracin de variables, y el tiempo de vida de un objeto al mbito de una variable.
1.Abstraccin: Supresin intencionada, u ocultamiento, de algunos detalles de un proceso o artefacto, con el objeto de destacar de manera ms clara otros aspectos, detalles o estructuras
Proceso de almacenar en un mismo compartimento los elementos de una abstraccin que constituyen su estructura y su comportamiento
+getAo()
+setDia(int) +setMes(int) +setAo(int) - validarDia(int)
Polimorfismo
Empleado [ ] x = new Empleado(4); x[0]= new Gerente(); x[1]= new Director();
Mtodos
import java.io.*; class CorrePerro { public static void main(String args[]) throws Exception { BufferedReader bf; bf = new BufferedReader(new InputStreamReader(System.in)); Perro tobby =new Perro(); int pesoperro=0; System.out.print("Ingrese el Peso del Perro : "); pesoperro=Integer.parseInt(bf.readLine()); tobby.setPeso(pesoperro); System.out.print("\n\n"+tobby.getPeso()); System.out.print("\n\n\n\n"); } }
Un objeto puede ser descendiente de otro. La tcnica consiste en recoger un objeto ya cerrado, sacar una copia y escribirle cosas encima: ms datos y/o ms mtodos. Aparece una relacin asimtrica de ascendientes/descendientes. No Olvidar: Primero analizar, disear, codificar y poner a punto (nunca repetir).
Los datos de los ascendientes existen en los descendientes; (no puede definir campos con igual nombre). Los mtodos de los ascendientes en principio los pueden usar los descendientes; pero estos pueden redefinirlos de nuevo, ocultando los de sus ascendientes.
Cliente Minorista
Vehculo Anfibio
15
Existe una clase especial muy til para crear jerarquas. Estas clases se llaman "clases abstractas", son como cualquier otra, pero definidas con la intencin de que sirvan como clase base de otras clases. O sea que nunca se va a crear una instancia de una clase abstracta, (nunca se crear un objeto de esa clase).
Se podra decir que una clase abstracta presenta la interfase comn para los objetos de clases derivadas.
17
Introduccin a Java
Qu es la Tecnologa JAVA?
Historia de JAVA Caractersticas de JAVA
Qu es la Tecnologa JAVA?
Historia de JAVA
Java fue diseado en 1990 por James Gosling, de Sun Microsysaaatems, como software para dispositivos electrnicos de consumo.
Curiosamente, todo este lenguaje fue diseado antes de que diese comienzo la era World Wide Web, puesto que fue diseado para dispositivos electrnicos como calculadoras, microondas y la televisin interactiva.
Caractersticas de JAVA
Provee un fcil uso del leguaje por:
Elimina muchos errores de otros lenguajes (punteros aritmticos y de memoria)
Caractersticas de JAVA
Seguridad en el Cdigo.
Es una maquina imaginaria implementada para emular el software como una maquina real, almacenando el cdigo en un archivo .class.
Permitiendo compilar todas las tecnologas de cdigo JAVA, dejndolas independientes de la plataforma.
Garbage Collector
RunTime
Carga de Clase
Carga todo el ambiente necesario como los import
Javac
TestProgram.class
Interpretado
Ejecuta cdigos escritos, If While For, etc.
Tiempo de Ejecucin
Lo dirige donde corresponde
Hardware
Opcin 1
J2SDK JCREATOR
CONSOLA
Opcin 2 Netbeans
Compilacin y Ejecucin.
Toma
Compilador
Hola.java
Genera
Hola.class
ByteCode Dj,sdsd, ss,74,3#,
VM
VM
La mquina virtual es un programa que ejecuta cdigo virtual, llamado Bytecode. Este cdigo de nivel menos que intermedio, no es entendido directamente por ningn procesador, y es la maquina la encargada de interpretarlo
Primera Aplicacin.
class PrimeraAplicacion { public static void main(String args[]) throws Exception { System.out.println("Primera Aplicacin"); }
}
import java.io.*; class Segunda_Aplicacion { public static void main(String args[]) throws Exception { BufferedReader bf; bf=new BufferedReader(new InputStreamReader(System.in)); int op=0; System.out.print("\n\n\n\t\t\tMENU DE OPERACIONES MATEMATICAS"); System.out.print("\n\t\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); System.out.print("\n\n\n\n\t\t\t\t 1. SUMAR"); System.out.print("\n\n\t\t\t\t 2. RESTAR"); System.out.print("\n\n\t\t\t\t 3. DIVIDIR"); System.out.print("\n\n\t\t\t\t 4. MULTIPLICAR\n\n\n\n\n"); do { System.out.print("\t\t\t Ingrese su Opcion --> "); op=Integer.parseInt(bf.readLine());//Permite almacenar el valor de la Base if (op<1 || op>4) System.out.print("\r\b...."); }while(op<=0 || op>=5); System.out.print("\n\n\t\tIngrese el Valor correcto "); }// cerrar main } //cerrar clase
Uso de Comentarios
Generar Comentario para Lnea de Cdigo.
// total=a+b+c;
Generar Comentario para Lnea de Cdigo. /* total=a+b+c;
promedio=total/contador; */
Generar Comentario para Lnea de Cdigo. /** Comentario para la documentacin */
Sentencias de Escape
Carcter \n
\t
\ \\
Tabulador
Comilla Doble Contrabarra
Identificadores Validos
Son nombres determinados para las variables, clases o mtodos.
Pueden comenzar con Unicode, subguin(_) o signo peso ($). Son sensitive-case y no tienen un largo mximo Ejemplos.
identificador
nombre_usuario $cambio
nombreUsuario
_variable_ppal
Tipos Primitivas
Obs: Todas parten con minsculas y no son orientadas a objetos, solo son estructuras de datos.
Lgica - boolean
a
\t \u????
Letra a
Un tabulador Caracter del Unicod
\u03A6-signo pi ()
2
077
8 bits
16 bits 32 bits
Byte
Short Int
-27 a 27 -1
-215 a 215 -1 -231 a 231 -1
-127 a 127
-32.000 a 32.000 -2.147.000.000
64 bits
Long
-263 a 263 -1
?????
Ejercicos
En base a la informacin buscada desarrolle una aplicacin en la cual se apliquen todos los tipos de datos, en cuanto a su declaracin, inicializacin, almacenamiento y finalmente salida por pantalla.
Manejo de Casting
En Java se realizan automticamente conversiones de una variable primitiva de un tipo a otra de otro, de igual o mayor precisin, siempre y cuando se respeten los rangos asociados al tipo convertido. As, pasar de byte a short, de short a int, de byte a int, es automtico siempre y cuando el entero a convertir no supere el rango del tipo convertido; en definitiva. byte-->short-->int-->long-->float-->double
Manejo de Casting
Para finalizar con el casting entre primitivas, conviene tener en cuenta lo siguiente: No es posible realizar casting entre una variable primitiva booleana y cualquier otra variable primitiva.
S es posible realizar casting entre una variable primitiva char y una variable primitiva que almacene enteros.
int num=164; char letra=(char)num;
^ | (evala cada una de las condiciones) && (evala criterio, no cumple se sale) || ?: (if abreviado) = *= /= %= += -= <<= >>= >>>= &= ^= |=
Ejemplos.
Ejemplos.
Uso de Switch switch (expr 1) { case constante 1: sentencias; break; case constante n: sentencias; break; default : sentencias; break; }
Uso de For
for (inicializacin; preg_bool; incre) { sentencias en el bloque; } for (int i = 0; i<10; i++) { System.out.print(\nRepeticion N+i); } System.out.print(\nEl Valor final de i es +i);
Uso de While
while (boolean) { sentencias en el bloque; } int i=0; while (i < 10) { System.out.print(\nRepeticion N+i); i++; } System.out.print(\nEl Valor final de i es +i);
Uso de Do - While
do {
sentencias en el bloque; } while (boolean); int i=0; do { System.out.print(\nRepeticion N+i); i++; } while (i < 10); System.out.print(\nEl Valor final de i es +i);
Uso de Do - While
do {
sentencias en el bloque; } while (boolean); int i=0; do { System.out.print(\nRepeticion N+i); i++; } while (i < 10); System.out.print(\nEl Valor final de i es +i);
int cont=0, acum=0,edad=0; cont=cont+1; //cuenta de uno en uno acum=aum+edad; //realiza la sumatoria de las edades
Ejercicios.
Desarrolle una aplicacin que permita ingresar los siguientes datos para 10 personas: 1. Edad. 2. Sexo. (M o F) 3. Sueldo base. Luego responda lo siguiente: 1. Cantidad de hombres y de mujeres ingresadas. 2. Promedio de los hombres y mujeres mayores de edad. 3. Promedio de los sueldos base de las mujeres. 4. Cantidad de sueldos superiores a $200.000. 5. Cantidad de sueldos inferiores al mnimo. 6. Total de sueldos para mujeres y para hombres (independiente) 7. Total de sueldos (ambos sexos). 8. Cantidad de sueldos pagados a menores de edad.
Arreglos Unidimensionales
Los Array se usan normalmente para agrupar objetos del mismo tipo. Permiten hacer referencia al grupo de objetos a travs de un nombre comn Es posible declarar array de cualquier tipo, ya sea de tipos primitivos o de clases. char[] s; Alumno[] a; // Alumno es un clase. Al declarar arrays con los corchetes a la izquierda, stos se aplican a todas las variables situadas a la derecha de los corchetes. char s[]; Alumno a[]; // Alumno es un clase.
public char[] crearArray() { char[] s; s=new char[26]; for(int i=0;i<26;i++) { s[i]=(char)(A+i); } return s; }
char[] A
B C s crearArray this main Z D
char[] A
B C s crearArray this main Z D