SlideShare una empresa de Scribd logo
1
PROGRAMACIÓN ORIENTADA
A OBJETOS
SCD1025
3:00 – 4:00 P.M
Alumno: Joaquín Martínez Benjamín
No. Control: 11161009
Periodo escolar: Ene-jun/2013
INGENIERÍA EN SISTEMAS
COMPUTACIONALES
2
PROGRAMACIÓN ORIENTADA A OBJETOS.
OBJETIVO GENERAL DE LA MATERIA:
Diseñar e implementar objetos de programación que permiten resolver situaciones reales y de
ingenierías.
Unidad 1Introduccion al paradigma de la programación orientada a objetos.
1.1Elementos del modelo de objetos, clases, abstracción, modularidad, encapsulamiento,
herencia, polimorfismo.
1.2Lenguaje de modelado unificado, diagrama de clases.
Unidad 2 Clases y objetos
2.1 Declaración de clases: atributos, métodos, encapsulamiento.
2.2 Instanciación de una clase.
2.3 Referencia al objeto actual.
2.4 Métodos: Declaración, mensajes, paso de parámetros, retorno de valores.
2.5 Constructores y destructores: declaración uso y aplicación.
2.6 Sobrecarga de métodos.
2.7 Sobrecarga de operadores, concepto y utilidad, operadores unarios y binarios.
Unidad 3 Herencia
3.1 Definición; clase base, clase final.
3.2 Clasificación; herencia simple y herencia múltiple.
3.3 Reutilización de miembros heredados.
3.4 Referencia al objeto de la clase base.
3.5 Constructores y destructores en clases derivadas.
3.6 La definición de métodos en clases derivadas.
Unidad 4 Polimorfismo
4.1 Definición.
4.2 Clases abstractas; definición, métodos abstractos, implementación de clases abstractas y
modelado.
4.3 Interfaces: Definición, implementación de interfaces, herencia de interfaces.
4.4 Variables polimórficas (plantillas); definición uso y aplicación.
4.5 Reutilización de código.
3
Unidad 5 Excepciones
5.1 Definición.
5.2 Tipos de excepciones.
5.3 Propagación de excepciones.
5.4 Gestión de excepciones; manejo y lanzamiento.
Unidad 6 Flujos y archivos
6.1 Definición.
6.2 Clasificación; archivos de texto y binarios.
6.3 Operaciones básicas y tipos de accesos.
6.4 Manejo de objetos.
Fuentes de información
“Programación orientada a objetos”
Luis Joyanes Aguilar. Mc Graw Hill
“Java 2 Fundamentos de programación”
Francisco Javier Ceballos. Editorial Alfa Omega.
“Como programar en Java”.
Deitel & Deitel. Prentice Hall.
“Programación en Java”
Herbert Schih. Prentice Hall.
Evaluación
Examen 50% teórico 50% practico.
Asistencia obligatoria
Participación
Tareas
Practicas
*Para derecho a examen tener 95 % de asistencia, tener puntos en participación, tareas y
prácticas.
4
PROGRAMACIÓN ORIENTADA A OBJETOS
1.1Elementos del modelo de objetos, clases, abstracción, modularidad, encapsulamiento, herencia,
polimorfismo.
Clase: Una clase es una plantilla utilizada para construir o definir un objeto.
Atributos: Características propias del objeto.
Métodos de acceso para un atributo: public
private
protected
Métodos: Conjunto de acciones que realiza o responde el objeto.
Objeto: Es la instanciación de una clase, todos los objetos son de una clase particular.
Abstracción: Captar características esenciales de un objeto omitiendo características secundarias.
Modularidad: Consiste en subdividir el problema en partes pequeñas para facilitar su programa y
su mantenimiento.
Encapsulamiento: Aquella propiedad que permite ver a un objeto como una caja negra en la que
se ha dado toda la información relacionada con dicho objeto. Esto nos permite manipular los
objetos como unidades básicas permaneciendo junta su estructura interna.
Herencia: Es una propiedad en la que podemos heredar métodos y atributos de otra clase, de esta
forma se garantiza la reutilización de código.
*Accesos
+ public: Se heredan métodos y atributos de otros paquetes y clases del mismo paquete.
# protected: Se pueden heredar clases del mismo paquete y no de otros paquetes.
_ private: Se elimina la posibilidad de la herencia.
 Estos accesos definen la visibilidad de los datos.
5
Polimorfismo: Esta característica permite implementar múltiples formas de un mismo método,
dependiendo cada una de ellas de la clase sobre la que se realice la implementación. Se puede
acceder a una variedad de métodos distintos, todos con el mismo nombre pero con distintos tipos
y formas de argumento.
Ejemplo de polimorfismo:
6
1.2Lenguaje de modelado unificado, diagrama de clases.
El lenguaje UML (Lenguaje de modelo unificado)
Es un lenguaje gráfico utilizado para representar la relación entre objetos, así como casos de uso,
asociación, agregación… de todo sistema, pero no muestra la lógica algorítmica de la solución del
sistema.
Uno de los temas importantes del UML es la clase.
< nombre de la clase>
<atributos>
<métodos u operación>
Ejemplo: Clase cuenta
Operaciones
-Depositar
-Girar
-Balance
Atributos:
(+): El atributo es accesible desde todos lados (public).
(-): El atributo es accesible solo para los métodos de la clase ( private ).
(#): No es accesible desde fuera de la clase, pero si por métodos de la clase que se deriven de ella.
(protected).
Cuenta: int
Cuenta balance: int
+ depositar ( monto: int ): void
+girar (monto: int):boolean
+balance (): int
Características validas que dan significado a cada dato.
No debe usar símbolos especiales ( %,+,-,*,ñ,á,etc).
Los métodos pueden ser simples (void) o parame
trizados. Los nombres no pueden ser palabras
reservadas o con símbolos especiales.
7
Métodos:
public: El método es accesible desde todos lados .
private: Solo son accesibles desde dentro de la clase.
protected: El método no será accesible desde fuera de la clase, pero si por métodos de la clase y
otros métodos que se deriven.
8
Unidad 2 Clases y objetos
Arreglo: Conjunto homogéneo, finito y ordenado que comparten un mismo nombre.
(lista o vector)
Int lista [10]
0 1 2 3 4 5 6 7 8 9
*Implementar una lista de 20 elementos
9
*Listas
*Arreglos paralelos
Problema: Se tiene una lista de 10 alumnos con sus respectivos datos.
-clave
-nombre
-materia
-promedio
Realizar un programa para imprimir el porcentaje de alumnos de programación1, estructura de
datos y lenguajes 2.
Clave Nombre Materia Promedio
Son un conjunto de arreglos verticales cada uno con un tipo de datos que comparten una longitud.
0
1
.
.
.
n
0
1
.
.
.
n
0
1
.
.
.
n
0
1
.
.
.
n
Clave Nombre Materia promedio
10
11
2.1Declaración de clases
12
2.1
-Métodos, atributos
-Encapsulamiento
2.2 Instanciación de una clase
2.3 Referencia al objeto actual
En poo para referirse al objeto actual, se utiliza el método fijo.
13
*El método this es usado en programación orientada a objetos para referencia los atributos del
objeto y hacerlos distintos de un método.
2.4 Métodos
Simples void: Estos trabajan en datos globales
Parametrizados: Son los que devuelven y reciben valores
public int// tipo valor de salida// método (int x, int y, int z) // parámetros de entrada
return;
Ejemplo:
public tipo metodo (arg1,arg2,arg3...)
{
return tipo;
}
Realizar un programa para leer un número <= 12 e imprimir
su factorial
14
Métodos que devuelven y reciben valores.
Realizar un programa para calcular la depreciación de un bien utilizando la línea recta, el cual
consiste en dividir el valor del bien entre el número de años, el valor resultante es lo que
devolverá dicho bien al año. El programa mostrara una tabla como la siguiente.
Año Capital inicial Deposito Capital final
1 10 000 1000 9 000
2 9 000 1000 8 000
3 8 000 1000 7 000
15
16
2.5 Destructores en java
Los destructores son métodos que se llaman automáticamente por el compilador cuando un
programa termina. A diferencia de c, c++, java no tiene un destructor explicito, ya que en lugar de
la función delete () de c, se usa System.cb (), biene Collection .
backage, ( Recolector de Basura).
El método cb () de system es innecesario ya que java al perder la referencia a un objeto es
eliminado automáticamente de la memoria.
Sobrecarga de operadores... investigar si existe......
17
2.6 Sobrecarga de métodos
Consiste en colocar múltiples métodos con el mismo nombre pero con distintos parámetros.Es una
forma de diseñar métodos que simulen el polimorfismo.
Diseñar un programa para calcular el área de cualquier figura. Antes de realizar el cálculo el
programa mostrara con letras grandes el nombre de la figura.
18
19
Una empresa x dedicada a la compraventa de productos básicos desea un programa para
imprimir los datos de venta de 3 productos básicos :
maíz
frijol
arroz
El programa debe imprimir lo siguiente:
a) tabla de venta anual de los tres productos
b) que producto se vendió mas en el año
c) imprimir todos los totales de ventas mensuales y por productos.
MAIZ FRIJOL ARROZ TOTAL MENSUAL
ENERO
FEBRERO
MARZO
…
TOTALES . . . . . . . . .
20
21
22
RESUMEN GENERAL
-clases-métodos-atributos-método main-paquetes.
Paquetes: los paquetes es una carpeta donde se almacenan las clases de un proyecto, todas las
clases de un paquete tiene una relación.
Java es un lenguaje ordenado, crea las clases en un lugar adecuado al proyecto a realizar.
Todas las clases deben estar dentro de un paquete.
Los paquetes son necesarios para que java ligue las librerías al paquete del proyecto.
public class miclase
{
// Declaración de atributos
private int [] lista;
public String nombre;
public double estatura;
public miclase(){
JtextArea area= new JtextArea();
JOptionPane.showMessageDialog(null,"Constructor vacio"); }
public miclase(int a[],nom,estat)
{ lista=a;
nombre=nom;
estatura= estat;
JtextArea area= new JtextArea();
}
public static void main (String []args){
int a[]={10,20,30,40};
miclase Obj = new miclase();
miclase Obj= new miclase(a,"Juan",1.56);
for (int i=o; i<3;i++)
{area.append (a [i] + "n");}
area.append (nombrre +"n"+estatura + "n");
JOptionPane.showMessageDialog (null,area);
____________________________________________________________________________
area =newJTextArea();
area.append ();
area.setFont (new Font ("Arial" , 180));
area.setColor (new color (blue));
______________________________________________________________________________
public int [] arreglo ----- formato java
public int arreglo [];___________________ formato c,c++
_______________________________________________________________________________
23
Unidad 3 Herencia
3.1 Definición, clase base, clase final.
Es una de las propiedades que permiten la reutilización de código.
Solo cuando los métodos y atributos son públicos o protegidos.
24
3.2 Clasificación; herencia simple y herencia múltiple.
Herencia simple: Una clase hereda características y comportamientos de otra clase.
Java
Herencia múltiple:
-vertical ------ Existe
-horizontal- No existe
25
26
Aplicación básica de la herencia.
3.3 Reutilización de miembros heredados
¿Qué es la reutilización de código?
Es que por medio de la herencia se utiliza código java de clases previamente desarrollados.
Ejemplo:
Problema 1: Desarrollar un programa para determinar si un número es o no primo leído por el
teclado.
Problema 2: Imprimir todos los primos entre 2 y 100
Problema 3: obtener la suma de las siguientes expresiones.
27
28
29
3.4 Referencia al objeto de la clase base.
// Problema: Realizar un programa para depreciar un bien usando el método de la
// línea recta, el importe en depreciar el bien en un número de años.
//dividiendo el capital entre el número de años, el resultado es la cantidad, depreciada cada año.
30
31
3.5 Constructores y destructores en clases derivadas.
32
3.6 Redefinición de miembros heredados.
A veces es importante redefinir los miembros heredados con la necesidad de darles a algunos
métodos nuevos comportamientos.
Para llamar el método de la superclase se usa el método super y el método redefinido con su
propio nombre.
Usando la herencia simple usar un programa para calcular lo siguiente:
Imprimir una tabla de divisores de los 20 primeros números naturales definiendo en cada una de
las tablas de la siguiente forma:
1 2 3 4 5 6 7
1 x
2 x
3 x
4 x x
5 x
6 x x
7 x cuantos divisores ,si es o no primo
33
Unidad 4 Polimorfismo
4.1 Definición
Esta característica permite implementar múltiples formas de un mismo método, dependiendo
cada una de ellas de la clase sobre la que se realice la implementación. Se puede acceder a una
variedad de métodos distintos, todos con el mismo nombre pero con distintos tipos y formas de
argumento.
4.2 Clases abstractas; definición, métodos abstractos, implementación de clases abstractas y
modelado.
Clases abstractas
Son clases genéricas que se crean con la intención de usar sus atributos y métodos donde la
subclase se encargara de los detalles de cada método. De una clase abstracta no puede crearse un
objeto. Si no que solo son creadas para ser derivadas de otras clases, donde dentro de cada clase
se redefinirá cada uno de sus métodos.
34
Aplicaciones de las clases abstractas
Problema: Usando clases abstractas desarrollar un programa para calcular una tabla de
depreciación por la suma de los números de años.
35
36
4.3 Interfaces: Definición, implementación de interfaces, herencia de interfaces.
Interfaces:
Es un dispositivo o un sistema utilizado por entidades inconexas. Por ejemplo un control remoto, el idioma
inglés, etc.
En java una interfaz es un dispositivo que permite interactuar a objetos no relacionados entre sí.
En java básicamente una interfaz se define como un conjunto de mensajes que se pueden aplicar a muchas
clases de objetos a las que cada una de ellas debe responder de una forma adecuada.
Ejemplo
public interface Serie
int metodo1 ();
void metodo2 ();
void metodo3();
public class Calculadora implements Serie
{
// datods
public calcularDatos ();
}
public inte metodo1(){
// cuerpo del metodo
//realiza lo que el metodo 1 realiza en esta clase
}
public void metodo2() {
// cuerpo del metodo
//realiza lo que el metodo 1 realiza en esta clas
public void metodo3() {
37
}
public static void main (String [] args ) {
}
}
publi class elementos implements Serie
// Datos
public Elementos () {
}
public int metodo1(){
// cuerpo del metodo
//realiza lo que el metodo 1 realiza en esta clas
}
38
39
40
Aplicación de las interfaces
Todos los datos declarados de una interface pueden ser de tipo final, abstracto o estático.
Usar una interfaz para calcular la transpuesta de una matriz.
import javax.swing.*;
public class Transpuesta implements Matriz {
public JTextArea area;
public int b [][];
public Transpuesta () {
area = new JTextArea ();
b = new int [4][4];
}
public void calcular () {
for (int j=0; j<4; j++) {
for (int k = 0; k <4 ; k++ ) {
b [j][k]= a[k][j];
}
}
}
public void imprimir () {
area.append ("El arreglo original es: n");
for (int i =0; i<4; i++ ) {
for (int j=0 ;j<4;j++) {
area.append (a [i][j] + "t");
41
}
area.append ("n");
}
area.append ("nn Matriz transpuesta: n");
for ( int i=0 ; i<4; i++ ) {
for ( int j =0; j<4 ; j++) {
area.append ( b[i][j]+"t");
}
area.append ("n");
}
JOptionPane.showMessageDialog ( null,area) ;
} // cierra metodo
public static void main (String [] args ) {
Transpuesta Obj= new Transpuesta () ;
Obj.calcular () ;
Obj.imprimir ();
}
} // cierra clase.
public class Table extends Transpuesta {
public Table () {
super ();
}
public void llamar (){
super.calcular();
super.imprimir();}
public static void main (String [] args ) {
Table Obj= new Table();
Obj.llamar();
}
}
42
import javax.swing.*;
public class Eleccion implements Partidos {
public JScrollPane barra;
public JTextArea area;
public int total [] ;
public int mayor;
public Eleccion () {
mayor=0;
43
area = new JTextArea (15,15);
barra = new JScrollPane (area) ;
}
public void votando (){
int distrito=0;
int partido=0;
int sumaPri=0;
int sumaPan=0;
int sumaPrd=0;
for ( int i = 0; i <= 510000; i++) {
partido = (int) (Math.random ()*2);
distrito= (int) (Math.random () * 10);
if (partido==0){ pri [distrito]= pri[distrito]+1; sumaPri++;}
if (partido==1){ pan [distrito]= pan [distrito] +1;sumaPan++;}
if (partido==2){ prd [distrito]= prd [distrito] +1;sumaPrd++;}
}
pri[10]=sumaPri; prd[10]= sumaPrd; pan [10]=sumaPan;
}
public void ganador () {
area.append ("Pri tPantPrdtTotalesn");
for ( int i=0; i<=10; i++){
area.append (pri [i]+"t"+pan [i]+"t"+prd [i] + "n");
}
int g=0;
mayor=pri[10];
if (pan[10]>mayor){
mayor=pan [10];
g=1;
}
if (prd [10] > mayor){
mayor=prd [10];
g=2;
}
44
if(g==0){area.append( "El ganador es el Pri con"+ pri[10]+"votos");}
if(g==1){area.append( "El ganador es el Pan con"+ pan[10]+"votos");}
if(g==2){area.append( "El ganador es el Prd con"+ prd[10]+"votos");}
JOptionPane.showMessageDialog (null,barra);
}
public static void main (String [] args ) {
Eleccion Obj = new Eleccion();
Obj.votando();
Obj.ganador();
}
}
45
import javax.swing.*;
public class Tabla implements Pitagoras {
public JScrollPane barra;
public JTextArea area;
public int arreglo[][];
int fila;
int columna;
public Tabla () {
int fila=0;
int columna=0;
arreglo= new int [11][11];
area = new JTextArea (40,40);
barra = new JScrollPane (area) ;
}
public void crearTabla () {
for ( fila=1; fila <=10; fila++) {
for (columna=1; columna<=10; columna++){
46
arreglo[fila][columna]= fila*columna;
area.append (arreglo[fila][columna]+ "t");}
area.append ("n");
}JOptionPane.showMessageDialog (null,barra);
}
public static void main (String [] args ){
Tabla Obj= new Tabla ();
Obj.crearTabla ();
}
}
47
Unidad 5 Excepciones
Es cuando en la ejecución de un programa sucede un error, entonces se dice que las excepciones
son un conjunto de instrucciones para atrapar esos errores y taparlos adecuadamente para evitar
la parada de la ejecución anormal del programa.
Con una excepción lanzada, si el error ocurre el programa sigue funcionando como si no ocurriese
nada.
Ejemplo:
Para tratar excepciones se utilizan 5 palabras claves: try, catch, throw, throws y finally.
int a=10;
int b=0;
try {
int s= a/b;
}
catch (ArithmeticException){
System.out.println ("Division por
cero); }
area.append ( "El valor es " +s+ "n");
}
public void dividir (int a, int b){
int valor= a/b;
area.append ("El valor es " + valor);
}
48
int num[1]= new int [2];
int a=10,b=0;
try { num [4]=10;
int s=a/b;
}
catch (Array IndexOutOf Bounds Exception except) {
System.out.println ( "Arreglo fuera de limite n");
}
catch (Arithmetic Exception except )
{ System.out.println ("No se puede dividir entre cero")
}
String cad= campotext.getText ();
int num= Integer.parseInt( cad );
try {
String cad= campotext.getText();
int num= Integer.parseInt ( cad);
catch (NumberFormatException except ){
JOptionPane.showMessageDialog (null, "Dato incorrecto");
}
49
Unidad 6. FLUJOS Y ARCHIVOS
Archivos Archivos: Es un conjunto de datos
almacenados en un formato
determinado.
Datos
Imagenes
Musica
Video
Texto
Alfanumericos
Archivos de datos: Es una colección de registros lógicamente relacionados que tienen una
aplicación común.
Registro: Es una entidad formada por un conjunto de campos formando un tuplax, es un ente
dependiente del conjunto y accesado con forma individual.
public in clave;
public String nombre;
public String direccion;
public String ciudad;
public String estado;
clave nombre direccion ciudad estado
En java los campos de un archive se declaran como atributos de una clase a diferencia de c, c++
que declaran como un tipo RECORD.
50
¿Qué es un campo? Es una característica de un objeto y es una parte fundamental de un archivo
de datos.
Es una unidad mínima de un registro.
Existen distintos tipos de campo:
Campos claves: Son utilizados para aplicar una búsqueda, para localizarlo en el archivo.
Estos campos también reciben el nombre de llaves de identificación. Tambien reciben el nombre
de campos primarios.
Campos secundarios: Son campos cuya información se repite, fusiona con otros campos para
forma una segunda alternativa de búsqueda.
Ejemplos: Fechas de nacimiento, código postal, fecha de filiación, dirección.
Todos los sistemas de información aplican entre los datos o tablas de archivos un conjunto de
operaciones las cuales son fundamentales para tener actualizados los datos del sistema en
cualquier momento.
Estas operaciones son:
Creacion de las tablas- Definir cada uno de los componentes de las tablas.
Actualizacion :
Insercion de un nuevo registro.
Eliminacion de registro.
Modificaciones de registro.
Consulta
-Busqueda
-Visualizacion general
-Generacion de reportes
Mantenimiento.
51
Operaciones sobre archivos
-Creación del archivo
Define los componentes
private int clase
private String nombre
Definir el nombre interno del archivo
private DatoOutputStream archivo;
Definir un nombre de archivo, para detectar si existe el archivo.
File fichero;
fichero= new File ("Ventana del");
if ( fichero.existe()){
ejecutar el archivo}
Escribir los campos del archivo .
archivo.writeInt (clave);
Para escribir los campos de se usan los siguientes métodos;
writeInt () // Escribe un entero
writeDouble()
writeFloat()
writeLog
writeChar()
writeUTF()
WriteChars() writeByte()
52
El método que escribe un registro es:
void insertar ( int clave, String nombre ){
try{
archivo= new DataOutputString ( new PutferedOutput Stream (new FileOutput Stream
("alumnos.dat",true));
archivo.writeInt (clave);
archivo.writeUTF (nombre );
}
catch (IOException e ){
System.out.println ("error"+ e.getMessage ());
}
finally {
try{
archivo.clase ();
}
catch (IOException ff )
{
System.out.println ( "No se puede cerrar el archivo ");
}
}

Más contenido relacionado

La actualidad más candente

Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
Alexander Ramirez Melendez
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
José Antonio Sandoval Acosta
 
Uml java
Uml javaUml java
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poo
demon_628
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
Clara Patricia Avella Ibañez
 
Programación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prevProgramación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prev
jtk1
 
Poo Programacion Orientada A Objetos Java
Poo   Programacion Orientada A Objetos   JavaPoo   Programacion Orientada A Objetos   Java
Poo Programacion Orientada A Objetos Java
C_QUENGUAN
 
Uni3m
Uni3mUni3m
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
gueritamala
 
Diseño de Sistemas
Diseño de SistemasDiseño de Sistemas
Diseño de Sistemas
jorgecaruci
 
POO
POOPOO
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
Whaleejaa Wha
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
Libertad25
 
Copia de copia de e.si.m.l.p
Copia de copia de e.si.m.l.pCopia de copia de e.si.m.l.p
Copia de copia de e.si.m.l.p
BangMiriam3003
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
Clara Patricia Avella Ibañez
 
E.si.m.l.p
 E.si.m.l.p E.si.m.l.p
E.si.m.l.p
Ayhli123
 
unidad 3
unidad 3unidad 3
unidad 3
deniizz
 
e.si.m.l.p
 e.si.m.l.p e.si.m.l.p
e.si.m.l.p
Dianithaa Mendoza'
 

La actualidad más candente (18)

Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Uml java
Uml javaUml java
Uml java
 
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poo
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Programación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prevProgramación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prev
 
Poo Programacion Orientada A Objetos Java
Poo   Programacion Orientada A Objetos   JavaPoo   Programacion Orientada A Objetos   Java
Poo Programacion Orientada A Objetos Java
 
Uni3m
Uni3mUni3m
Uni3m
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Diseño de Sistemas
Diseño de SistemasDiseño de Sistemas
Diseño de Sistemas
 
POO
POOPOO
POO
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Copia de copia de e.si.m.l.p
Copia de copia de e.si.m.l.pCopia de copia de e.si.m.l.p
Copia de copia de e.si.m.l.p
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
E.si.m.l.p
 E.si.m.l.p E.si.m.l.p
E.si.m.l.p
 
unidad 3
unidad 3unidad 3
unidad 3
 
e.si.m.l.p
 e.si.m.l.p e.si.m.l.p
e.si.m.l.p
 

Similar a Programación orientada a objetos

Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prev
jtk1
 
Anon metodologia de la programacion orientada a objetos con c++
Anon   metodologia de la programacion orientada a objetos con c++Anon   metodologia de la programacion orientada a objetos con c++
Anon metodologia de la programacion orientada a objetos con c++
ratasquerosaXX
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
cibernano
 
Guia1 pii
Guia1 piiGuia1 pii
Guia1 pii
Thays Parra
 
Analisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetosAnalisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetos
Lex Marin
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado Objetos
Eliecer Suarez
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
luisortiz
 
Semanas01y02
Semanas01y02Semanas01y02
Poo
PooPoo
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POO
Libertad25
 
1 Paradigma Objetos
1 Paradigma Objetos1 Paradigma Objetos
1 Paradigma Objetos
diana londono
 
Programacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdfProgramacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdf
SantiagoValenzuela24
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
Karen Olan
 
Modelamiento con uml definiciones
Modelamiento con uml definicionesModelamiento con uml definiciones
Modelamiento con uml definiciones
Boris Salleg
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetos
Christian Leon
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013
Edgar Rosas
 
Paradigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a ObjetosParadigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a Objetos
Alberto Blumberg
 
Prog oo con_java
Prog oo con_javaProg oo con_java
Prog oo con_java
JoseEstebanTelloEstr
 
Diagrama de casos
Diagrama de casosDiagrama de casos
Diagrama de casos
turlahackers
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
David Vidal
 

Similar a Programación orientada a objetos (20)

Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prev
 
Anon metodologia de la programacion orientada a objetos con c++
Anon   metodologia de la programacion orientada a objetos con c++Anon   metodologia de la programacion orientada a objetos con c++
Anon metodologia de la programacion orientada a objetos con c++
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
 
Guia1 pii
Guia1 piiGuia1 pii
Guia1 pii
 
Analisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetosAnalisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetos
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado Objetos
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Poo
PooPoo
Poo
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POO
 
1 Paradigma Objetos
1 Paradigma Objetos1 Paradigma Objetos
1 Paradigma Objetos
 
Programacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdfProgramacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdf
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
Modelamiento con uml definiciones
Modelamiento con uml definicionesModelamiento con uml definiciones
Modelamiento con uml definiciones
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetos
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013
 
Paradigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a ObjetosParadigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a Objetos
 
Prog oo con_java
Prog oo con_javaProg oo con_java
Prog oo con_java
 
Diagrama de casos
Diagrama de casosDiagrama de casos
Diagrama de casos
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 

Más de Benjamín Joaquín Martínez

Sistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdfSistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdf
Benjamín Joaquín Martínez
 
Portafolio ingles.pdf
Portafolio ingles.pdfPortafolio ingles.pdf
Portafolio ingles.pdf
Benjamín Joaquín Martínez
 
Tabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdfTabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdf
Benjamín Joaquín Martínez
 
Sistema de registro con php
Sistema de registro con phpSistema de registro con php
Sistema de registro con php
Benjamín Joaquín Martínez
 
compiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdfcompiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdf
Benjamín Joaquín Martínez
 
Compiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdfCompiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdf
Benjamín Joaquín Martínez
 
133467 compiladores 4.pdf
133467 compiladores 4.pdf133467 compiladores 4.pdf
133467 compiladores 4.pdf
Benjamín Joaquín Martínez
 
133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf
Benjamín Joaquín Martínez
 
133467_COMPILADORES2
133467_COMPILADORES2133467_COMPILADORES2
133467_COMPILADORES2
Benjamín Joaquín Martínez
 
COMPILADORES1.pdf
COMPILADORES1.pdfCOMPILADORES1.pdf
COMPILADORES1.pdf
Benjamín Joaquín Martínez
 
Algoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdfAlgoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdf
Benjamín Joaquín Martínez
 
Logica proposicional
Logica proposicionalLogica proposicional
Logica proposicional
Benjamín Joaquín Martínez
 
Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467
Benjamín Joaquín Martínez
 
Bd distribuidas
Bd distribuidasBd distribuidas
diseño de bases de datos distribuidas
diseño de bases de datos distribuidas   diseño de bases de datos distribuidas
diseño de bases de datos distribuidas
Benjamín Joaquín Martínez
 
procesamiento de consultas distribuidas
procesamiento de consultas distribuidasprocesamiento de consultas distribuidas
procesamiento de consultas distribuidas
Benjamín Joaquín Martínez
 
Algoritmo de INGRES
Algoritmo de INGRES Algoritmo de INGRES
Algoritmo de INGRES
Benjamín Joaquín Martínez
 
Fragmentación
FragmentaciónFragmentación
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
Benjamín Joaquín Martínez
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidas
Benjamín Joaquín Martínez
 

Más de Benjamín Joaquín Martínez (20)

Sistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdfSistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdf
 
Portafolio ingles.pdf
Portafolio ingles.pdfPortafolio ingles.pdf
Portafolio ingles.pdf
 
Tabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdfTabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdf
 
Sistema de registro con php
Sistema de registro con phpSistema de registro con php
Sistema de registro con php
 
compiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdfcompiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdf
 
Compiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdfCompiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdf
 
133467 compiladores 4.pdf
133467 compiladores 4.pdf133467 compiladores 4.pdf
133467 compiladores 4.pdf
 
133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf
 
133467_COMPILADORES2
133467_COMPILADORES2133467_COMPILADORES2
133467_COMPILADORES2
 
COMPILADORES1.pdf
COMPILADORES1.pdfCOMPILADORES1.pdf
COMPILADORES1.pdf
 
Algoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdfAlgoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdf
 
Logica proposicional
Logica proposicionalLogica proposicional
Logica proposicional
 
Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467
 
Bd distribuidas
Bd distribuidasBd distribuidas
Bd distribuidas
 
diseño de bases de datos distribuidas
diseño de bases de datos distribuidas   diseño de bases de datos distribuidas
diseño de bases de datos distribuidas
 
procesamiento de consultas distribuidas
procesamiento de consultas distribuidasprocesamiento de consultas distribuidas
procesamiento de consultas distribuidas
 
Algoritmo de INGRES
Algoritmo de INGRES Algoritmo de INGRES
Algoritmo de INGRES
 
Fragmentación
FragmentaciónFragmentación
Fragmentación
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidas
 

Último

muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
AlejandroArturoGutie1
 
Sistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisiónSistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisión
MichaelLpezOrtiz
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
ronnyrocha223
 
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptx
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptxEquipo 4. Mezclado de Polímeros quimica de polimeros.pptx
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptx
angiepalacios6170
 
Cálculo del espesor del conducto forzado
Cálculo del espesor del conducto forzadoCálculo del espesor del conducto forzado
Cálculo del espesor del conducto forzado
KristianSaavedra
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
shirllyleytonm
 
SLIDEHARE.docx..........................
SLIDEHARE.docx..........................SLIDEHARE.docx..........................
SLIDEHARE.docx..........................
azulsarase
 
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docxINFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
LuzdeFatimaCarranzaG
 
tipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdftipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdf
munozvanessa878
 
AE 34 Serie de sobrecargas aisladas_240429_172040.pdf
AE  34 Serie de sobrecargas aisladas_240429_172040.pdfAE  34 Serie de sobrecargas aisladas_240429_172040.pdf
AE 34 Serie de sobrecargas aisladas_240429_172040.pdf
sebastianpech108
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
carolina838317
 
INGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completaINGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completa
JaimmsArthur
 
simbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspecciónsimbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspección
HarofHaro
 
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptxINVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
FernandoRodrigoEscal
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
yamilbailonw
 
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapasexposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
raul958375
 
Infografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdfInfografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdf
DanielMelndez19
 
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdfFocos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
PatoLokooGuevara
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
elsanti003
 
Ducto Barras para instalaciones electricas
Ducto Barras para instalaciones electricasDucto Barras para instalaciones electricas
Ducto Barras para instalaciones electricas
Edgar Najera
 

Último (20)

muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
 
Sistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisiónSistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisión
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
 
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptx
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptxEquipo 4. Mezclado de Polímeros quimica de polimeros.pptx
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptx
 
Cálculo del espesor del conducto forzado
Cálculo del espesor del conducto forzadoCálculo del espesor del conducto forzado
Cálculo del espesor del conducto forzado
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
 
SLIDEHARE.docx..........................
SLIDEHARE.docx..........................SLIDEHARE.docx..........................
SLIDEHARE.docx..........................
 
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docxINFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
 
tipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdftipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdf
 
AE 34 Serie de sobrecargas aisladas_240429_172040.pdf
AE  34 Serie de sobrecargas aisladas_240429_172040.pdfAE  34 Serie de sobrecargas aisladas_240429_172040.pdf
AE 34 Serie de sobrecargas aisladas_240429_172040.pdf
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
 
INGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completaINGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completa
 
simbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspecciónsimbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspección
 
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptxINVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
 
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapasexposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
 
Infografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdfInfografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdf
 
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdfFocos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
 
Ducto Barras para instalaciones electricas
Ducto Barras para instalaciones electricasDucto Barras para instalaciones electricas
Ducto Barras para instalaciones electricas
 

Programación orientada a objetos

  • 1. 1 PROGRAMACIÓN ORIENTADA A OBJETOS SCD1025 3:00 – 4:00 P.M Alumno: Joaquín Martínez Benjamín No. Control: 11161009 Periodo escolar: Ene-jun/2013 INGENIERÍA EN SISTEMAS COMPUTACIONALES
  • 2. 2 PROGRAMACIÓN ORIENTADA A OBJETOS. OBJETIVO GENERAL DE LA MATERIA: Diseñar e implementar objetos de programación que permiten resolver situaciones reales y de ingenierías. Unidad 1Introduccion al paradigma de la programación orientada a objetos. 1.1Elementos del modelo de objetos, clases, abstracción, modularidad, encapsulamiento, herencia, polimorfismo. 1.2Lenguaje de modelado unificado, diagrama de clases. Unidad 2 Clases y objetos 2.1 Declaración de clases: atributos, métodos, encapsulamiento. 2.2 Instanciación de una clase. 2.3 Referencia al objeto actual. 2.4 Métodos: Declaración, mensajes, paso de parámetros, retorno de valores. 2.5 Constructores y destructores: declaración uso y aplicación. 2.6 Sobrecarga de métodos. 2.7 Sobrecarga de operadores, concepto y utilidad, operadores unarios y binarios. Unidad 3 Herencia 3.1 Definición; clase base, clase final. 3.2 Clasificación; herencia simple y herencia múltiple. 3.3 Reutilización de miembros heredados. 3.4 Referencia al objeto de la clase base. 3.5 Constructores y destructores en clases derivadas. 3.6 La definición de métodos en clases derivadas. Unidad 4 Polimorfismo 4.1 Definición. 4.2 Clases abstractas; definición, métodos abstractos, implementación de clases abstractas y modelado. 4.3 Interfaces: Definición, implementación de interfaces, herencia de interfaces. 4.4 Variables polimórficas (plantillas); definición uso y aplicación. 4.5 Reutilización de código.
  • 3. 3 Unidad 5 Excepciones 5.1 Definición. 5.2 Tipos de excepciones. 5.3 Propagación de excepciones. 5.4 Gestión de excepciones; manejo y lanzamiento. Unidad 6 Flujos y archivos 6.1 Definición. 6.2 Clasificación; archivos de texto y binarios. 6.3 Operaciones básicas y tipos de accesos. 6.4 Manejo de objetos. Fuentes de información “Programación orientada a objetos” Luis Joyanes Aguilar. Mc Graw Hill “Java 2 Fundamentos de programación” Francisco Javier Ceballos. Editorial Alfa Omega. “Como programar en Java”. Deitel & Deitel. Prentice Hall. “Programación en Java” Herbert Schih. Prentice Hall. Evaluación Examen 50% teórico 50% practico. Asistencia obligatoria Participación Tareas Practicas *Para derecho a examen tener 95 % de asistencia, tener puntos en participación, tareas y prácticas.
  • 4. 4 PROGRAMACIÓN ORIENTADA A OBJETOS 1.1Elementos del modelo de objetos, clases, abstracción, modularidad, encapsulamiento, herencia, polimorfismo. Clase: Una clase es una plantilla utilizada para construir o definir un objeto. Atributos: Características propias del objeto. Métodos de acceso para un atributo: public private protected Métodos: Conjunto de acciones que realiza o responde el objeto. Objeto: Es la instanciación de una clase, todos los objetos son de una clase particular. Abstracción: Captar características esenciales de un objeto omitiendo características secundarias. Modularidad: Consiste en subdividir el problema en partes pequeñas para facilitar su programa y su mantenimiento. Encapsulamiento: Aquella propiedad que permite ver a un objeto como una caja negra en la que se ha dado toda la información relacionada con dicho objeto. Esto nos permite manipular los objetos como unidades básicas permaneciendo junta su estructura interna. Herencia: Es una propiedad en la que podemos heredar métodos y atributos de otra clase, de esta forma se garantiza la reutilización de código. *Accesos + public: Se heredan métodos y atributos de otros paquetes y clases del mismo paquete. # protected: Se pueden heredar clases del mismo paquete y no de otros paquetes. _ private: Se elimina la posibilidad de la herencia.  Estos accesos definen la visibilidad de los datos.
  • 5. 5 Polimorfismo: Esta característica permite implementar múltiples formas de un mismo método, dependiendo cada una de ellas de la clase sobre la que se realice la implementación. Se puede acceder a una variedad de métodos distintos, todos con el mismo nombre pero con distintos tipos y formas de argumento. Ejemplo de polimorfismo:
  • 6. 6 1.2Lenguaje de modelado unificado, diagrama de clases. El lenguaje UML (Lenguaje de modelo unificado) Es un lenguaje gráfico utilizado para representar la relación entre objetos, así como casos de uso, asociación, agregación… de todo sistema, pero no muestra la lógica algorítmica de la solución del sistema. Uno de los temas importantes del UML es la clase. < nombre de la clase> <atributos> <métodos u operación> Ejemplo: Clase cuenta Operaciones -Depositar -Girar -Balance Atributos: (+): El atributo es accesible desde todos lados (public). (-): El atributo es accesible solo para los métodos de la clase ( private ). (#): No es accesible desde fuera de la clase, pero si por métodos de la clase que se deriven de ella. (protected). Cuenta: int Cuenta balance: int + depositar ( monto: int ): void +girar (monto: int):boolean +balance (): int Características validas que dan significado a cada dato. No debe usar símbolos especiales ( %,+,-,*,ñ,á,etc). Los métodos pueden ser simples (void) o parame trizados. Los nombres no pueden ser palabras reservadas o con símbolos especiales.
  • 7. 7 Métodos: public: El método es accesible desde todos lados . private: Solo son accesibles desde dentro de la clase. protected: El método no será accesible desde fuera de la clase, pero si por métodos de la clase y otros métodos que se deriven.
  • 8. 8 Unidad 2 Clases y objetos Arreglo: Conjunto homogéneo, finito y ordenado que comparten un mismo nombre. (lista o vector) Int lista [10] 0 1 2 3 4 5 6 7 8 9 *Implementar una lista de 20 elementos
  • 9. 9 *Listas *Arreglos paralelos Problema: Se tiene una lista de 10 alumnos con sus respectivos datos. -clave -nombre -materia -promedio Realizar un programa para imprimir el porcentaje de alumnos de programación1, estructura de datos y lenguajes 2. Clave Nombre Materia Promedio Son un conjunto de arreglos verticales cada uno con un tipo de datos que comparten una longitud. 0 1 . . . n 0 1 . . . n 0 1 . . . n 0 1 . . . n Clave Nombre Materia promedio
  • 10. 10
  • 12. 12 2.1 -Métodos, atributos -Encapsulamiento 2.2 Instanciación de una clase 2.3 Referencia al objeto actual En poo para referirse al objeto actual, se utiliza el método fijo.
  • 13. 13 *El método this es usado en programación orientada a objetos para referencia los atributos del objeto y hacerlos distintos de un método. 2.4 Métodos Simples void: Estos trabajan en datos globales Parametrizados: Son los que devuelven y reciben valores public int// tipo valor de salida// método (int x, int y, int z) // parámetros de entrada return; Ejemplo: public tipo metodo (arg1,arg2,arg3...) { return tipo; } Realizar un programa para leer un número <= 12 e imprimir su factorial
  • 14. 14 Métodos que devuelven y reciben valores. Realizar un programa para calcular la depreciación de un bien utilizando la línea recta, el cual consiste en dividir el valor del bien entre el número de años, el valor resultante es lo que devolverá dicho bien al año. El programa mostrara una tabla como la siguiente. Año Capital inicial Deposito Capital final 1 10 000 1000 9 000 2 9 000 1000 8 000 3 8 000 1000 7 000
  • 15. 15
  • 16. 16 2.5 Destructores en java Los destructores son métodos que se llaman automáticamente por el compilador cuando un programa termina. A diferencia de c, c++, java no tiene un destructor explicito, ya que en lugar de la función delete () de c, se usa System.cb (), biene Collection . backage, ( Recolector de Basura). El método cb () de system es innecesario ya que java al perder la referencia a un objeto es eliminado automáticamente de la memoria. Sobrecarga de operadores... investigar si existe......
  • 17. 17 2.6 Sobrecarga de métodos Consiste en colocar múltiples métodos con el mismo nombre pero con distintos parámetros.Es una forma de diseñar métodos que simulen el polimorfismo. Diseñar un programa para calcular el área de cualquier figura. Antes de realizar el cálculo el programa mostrara con letras grandes el nombre de la figura.
  • 18. 18
  • 19. 19 Una empresa x dedicada a la compraventa de productos básicos desea un programa para imprimir los datos de venta de 3 productos básicos : maíz frijol arroz El programa debe imprimir lo siguiente: a) tabla de venta anual de los tres productos b) que producto se vendió mas en el año c) imprimir todos los totales de ventas mensuales y por productos. MAIZ FRIJOL ARROZ TOTAL MENSUAL ENERO FEBRERO MARZO … TOTALES . . . . . . . . .
  • 20. 20
  • 21. 21
  • 22. 22 RESUMEN GENERAL -clases-métodos-atributos-método main-paquetes. Paquetes: los paquetes es una carpeta donde se almacenan las clases de un proyecto, todas las clases de un paquete tiene una relación. Java es un lenguaje ordenado, crea las clases en un lugar adecuado al proyecto a realizar. Todas las clases deben estar dentro de un paquete. Los paquetes son necesarios para que java ligue las librerías al paquete del proyecto. public class miclase { // Declaración de atributos private int [] lista; public String nombre; public double estatura; public miclase(){ JtextArea area= new JtextArea(); JOptionPane.showMessageDialog(null,"Constructor vacio"); } public miclase(int a[],nom,estat) { lista=a; nombre=nom; estatura= estat; JtextArea area= new JtextArea(); } public static void main (String []args){ int a[]={10,20,30,40}; miclase Obj = new miclase(); miclase Obj= new miclase(a,"Juan",1.56); for (int i=o; i<3;i++) {area.append (a [i] + "n");} area.append (nombrre +"n"+estatura + "n"); JOptionPane.showMessageDialog (null,area); ____________________________________________________________________________ area =newJTextArea(); area.append (); area.setFont (new Font ("Arial" , 180)); area.setColor (new color (blue)); ______________________________________________________________________________ public int [] arreglo ----- formato java public int arreglo [];___________________ formato c,c++ _______________________________________________________________________________
  • 23. 23 Unidad 3 Herencia 3.1 Definición, clase base, clase final. Es una de las propiedades que permiten la reutilización de código. Solo cuando los métodos y atributos son públicos o protegidos.
  • 24. 24 3.2 Clasificación; herencia simple y herencia múltiple. Herencia simple: Una clase hereda características y comportamientos de otra clase. Java Herencia múltiple: -vertical ------ Existe -horizontal- No existe
  • 25. 25
  • 26. 26 Aplicación básica de la herencia. 3.3 Reutilización de miembros heredados ¿Qué es la reutilización de código? Es que por medio de la herencia se utiliza código java de clases previamente desarrollados. Ejemplo: Problema 1: Desarrollar un programa para determinar si un número es o no primo leído por el teclado. Problema 2: Imprimir todos los primos entre 2 y 100 Problema 3: obtener la suma de las siguientes expresiones.
  • 27. 27
  • 28. 28
  • 29. 29 3.4 Referencia al objeto de la clase base. // Problema: Realizar un programa para depreciar un bien usando el método de la // línea recta, el importe en depreciar el bien en un número de años. //dividiendo el capital entre el número de años, el resultado es la cantidad, depreciada cada año.
  • 30. 30
  • 31. 31 3.5 Constructores y destructores en clases derivadas.
  • 32. 32 3.6 Redefinición de miembros heredados. A veces es importante redefinir los miembros heredados con la necesidad de darles a algunos métodos nuevos comportamientos. Para llamar el método de la superclase se usa el método super y el método redefinido con su propio nombre. Usando la herencia simple usar un programa para calcular lo siguiente: Imprimir una tabla de divisores de los 20 primeros números naturales definiendo en cada una de las tablas de la siguiente forma: 1 2 3 4 5 6 7 1 x 2 x 3 x 4 x x 5 x 6 x x 7 x cuantos divisores ,si es o no primo
  • 33. 33 Unidad 4 Polimorfismo 4.1 Definición Esta característica permite implementar múltiples formas de un mismo método, dependiendo cada una de ellas de la clase sobre la que se realice la implementación. Se puede acceder a una variedad de métodos distintos, todos con el mismo nombre pero con distintos tipos y formas de argumento. 4.2 Clases abstractas; definición, métodos abstractos, implementación de clases abstractas y modelado. Clases abstractas Son clases genéricas que se crean con la intención de usar sus atributos y métodos donde la subclase se encargara de los detalles de cada método. De una clase abstracta no puede crearse un objeto. Si no que solo son creadas para ser derivadas de otras clases, donde dentro de cada clase se redefinirá cada uno de sus métodos.
  • 34. 34 Aplicaciones de las clases abstractas Problema: Usando clases abstractas desarrollar un programa para calcular una tabla de depreciación por la suma de los números de años.
  • 35. 35
  • 36. 36 4.3 Interfaces: Definición, implementación de interfaces, herencia de interfaces. Interfaces: Es un dispositivo o un sistema utilizado por entidades inconexas. Por ejemplo un control remoto, el idioma inglés, etc. En java una interfaz es un dispositivo que permite interactuar a objetos no relacionados entre sí. En java básicamente una interfaz se define como un conjunto de mensajes que se pueden aplicar a muchas clases de objetos a las que cada una de ellas debe responder de una forma adecuada. Ejemplo public interface Serie int metodo1 (); void metodo2 (); void metodo3(); public class Calculadora implements Serie { // datods public calcularDatos (); } public inte metodo1(){ // cuerpo del metodo //realiza lo que el metodo 1 realiza en esta clase } public void metodo2() { // cuerpo del metodo //realiza lo que el metodo 1 realiza en esta clas public void metodo3() {
  • 37. 37 } public static void main (String [] args ) { } } publi class elementos implements Serie // Datos public Elementos () { } public int metodo1(){ // cuerpo del metodo //realiza lo que el metodo 1 realiza en esta clas }
  • 38. 38
  • 39. 39
  • 40. 40 Aplicación de las interfaces Todos los datos declarados de una interface pueden ser de tipo final, abstracto o estático. Usar una interfaz para calcular la transpuesta de una matriz. import javax.swing.*; public class Transpuesta implements Matriz { public JTextArea area; public int b [][]; public Transpuesta () { area = new JTextArea (); b = new int [4][4]; } public void calcular () { for (int j=0; j<4; j++) { for (int k = 0; k <4 ; k++ ) { b [j][k]= a[k][j]; } } } public void imprimir () { area.append ("El arreglo original es: n"); for (int i =0; i<4; i++ ) { for (int j=0 ;j<4;j++) { area.append (a [i][j] + "t");
  • 41. 41 } area.append ("n"); } area.append ("nn Matriz transpuesta: n"); for ( int i=0 ; i<4; i++ ) { for ( int j =0; j<4 ; j++) { area.append ( b[i][j]+"t"); } area.append ("n"); } JOptionPane.showMessageDialog ( null,area) ; } // cierra metodo public static void main (String [] args ) { Transpuesta Obj= new Transpuesta () ; Obj.calcular () ; Obj.imprimir (); } } // cierra clase. public class Table extends Transpuesta { public Table () { super (); } public void llamar (){ super.calcular(); super.imprimir();} public static void main (String [] args ) { Table Obj= new Table(); Obj.llamar(); } }
  • 42. 42 import javax.swing.*; public class Eleccion implements Partidos { public JScrollPane barra; public JTextArea area; public int total [] ; public int mayor; public Eleccion () { mayor=0;
  • 43. 43 area = new JTextArea (15,15); barra = new JScrollPane (area) ; } public void votando (){ int distrito=0; int partido=0; int sumaPri=0; int sumaPan=0; int sumaPrd=0; for ( int i = 0; i <= 510000; i++) { partido = (int) (Math.random ()*2); distrito= (int) (Math.random () * 10); if (partido==0){ pri [distrito]= pri[distrito]+1; sumaPri++;} if (partido==1){ pan [distrito]= pan [distrito] +1;sumaPan++;} if (partido==2){ prd [distrito]= prd [distrito] +1;sumaPrd++;} } pri[10]=sumaPri; prd[10]= sumaPrd; pan [10]=sumaPan; } public void ganador () { area.append ("Pri tPantPrdtTotalesn"); for ( int i=0; i<=10; i++){ area.append (pri [i]+"t"+pan [i]+"t"+prd [i] + "n"); } int g=0; mayor=pri[10]; if (pan[10]>mayor){ mayor=pan [10]; g=1; } if (prd [10] > mayor){ mayor=prd [10]; g=2; }
  • 44. 44 if(g==0){area.append( "El ganador es el Pri con"+ pri[10]+"votos");} if(g==1){area.append( "El ganador es el Pan con"+ pan[10]+"votos");} if(g==2){area.append( "El ganador es el Prd con"+ prd[10]+"votos");} JOptionPane.showMessageDialog (null,barra); } public static void main (String [] args ) { Eleccion Obj = new Eleccion(); Obj.votando(); Obj.ganador(); } }
  • 45. 45 import javax.swing.*; public class Tabla implements Pitagoras { public JScrollPane barra; public JTextArea area; public int arreglo[][]; int fila; int columna; public Tabla () { int fila=0; int columna=0; arreglo= new int [11][11]; area = new JTextArea (40,40); barra = new JScrollPane (area) ; } public void crearTabla () { for ( fila=1; fila <=10; fila++) { for (columna=1; columna<=10; columna++){
  • 46. 46 arreglo[fila][columna]= fila*columna; area.append (arreglo[fila][columna]+ "t");} area.append ("n"); }JOptionPane.showMessageDialog (null,barra); } public static void main (String [] args ){ Tabla Obj= new Tabla (); Obj.crearTabla (); } }
  • 47. 47 Unidad 5 Excepciones Es cuando en la ejecución de un programa sucede un error, entonces se dice que las excepciones son un conjunto de instrucciones para atrapar esos errores y taparlos adecuadamente para evitar la parada de la ejecución anormal del programa. Con una excepción lanzada, si el error ocurre el programa sigue funcionando como si no ocurriese nada. Ejemplo: Para tratar excepciones se utilizan 5 palabras claves: try, catch, throw, throws y finally. int a=10; int b=0; try { int s= a/b; } catch (ArithmeticException){ System.out.println ("Division por cero); } area.append ( "El valor es " +s+ "n"); } public void dividir (int a, int b){ int valor= a/b; area.append ("El valor es " + valor); }
  • 48. 48 int num[1]= new int [2]; int a=10,b=0; try { num [4]=10; int s=a/b; } catch (Array IndexOutOf Bounds Exception except) { System.out.println ( "Arreglo fuera de limite n"); } catch (Arithmetic Exception except ) { System.out.println ("No se puede dividir entre cero") } String cad= campotext.getText (); int num= Integer.parseInt( cad ); try { String cad= campotext.getText(); int num= Integer.parseInt ( cad); catch (NumberFormatException except ){ JOptionPane.showMessageDialog (null, "Dato incorrecto"); }
  • 49. 49 Unidad 6. FLUJOS Y ARCHIVOS Archivos Archivos: Es un conjunto de datos almacenados en un formato determinado. Datos Imagenes Musica Video Texto Alfanumericos Archivos de datos: Es una colección de registros lógicamente relacionados que tienen una aplicación común. Registro: Es una entidad formada por un conjunto de campos formando un tuplax, es un ente dependiente del conjunto y accesado con forma individual. public in clave; public String nombre; public String direccion; public String ciudad; public String estado; clave nombre direccion ciudad estado En java los campos de un archive se declaran como atributos de una clase a diferencia de c, c++ que declaran como un tipo RECORD.
  • 50. 50 ¿Qué es un campo? Es una característica de un objeto y es una parte fundamental de un archivo de datos. Es una unidad mínima de un registro. Existen distintos tipos de campo: Campos claves: Son utilizados para aplicar una búsqueda, para localizarlo en el archivo. Estos campos también reciben el nombre de llaves de identificación. Tambien reciben el nombre de campos primarios. Campos secundarios: Son campos cuya información se repite, fusiona con otros campos para forma una segunda alternativa de búsqueda. Ejemplos: Fechas de nacimiento, código postal, fecha de filiación, dirección. Todos los sistemas de información aplican entre los datos o tablas de archivos un conjunto de operaciones las cuales son fundamentales para tener actualizados los datos del sistema en cualquier momento. Estas operaciones son: Creacion de las tablas- Definir cada uno de los componentes de las tablas. Actualizacion : Insercion de un nuevo registro. Eliminacion de registro. Modificaciones de registro. Consulta -Busqueda -Visualizacion general -Generacion de reportes Mantenimiento.
  • 51. 51 Operaciones sobre archivos -Creación del archivo Define los componentes private int clase private String nombre Definir el nombre interno del archivo private DatoOutputStream archivo; Definir un nombre de archivo, para detectar si existe el archivo. File fichero; fichero= new File ("Ventana del"); if ( fichero.existe()){ ejecutar el archivo} Escribir los campos del archivo . archivo.writeInt (clave); Para escribir los campos de se usan los siguientes métodos; writeInt () // Escribe un entero writeDouble() writeFloat() writeLog writeChar() writeUTF() WriteChars() writeByte()
  • 52. 52 El método que escribe un registro es: void insertar ( int clave, String nombre ){ try{ archivo= new DataOutputString ( new PutferedOutput Stream (new FileOutput Stream ("alumnos.dat",true)); archivo.writeInt (clave); archivo.writeUTF (nombre ); } catch (IOException e ){ System.out.println ("error"+ e.getMessage ()); } finally { try{ archivo.clase (); } catch (IOException ff ) { System.out.println ( "No se puede cerrar el archivo "); } }