Академический Документы
Профессиональный Документы
Культура Документы
APLICADA
Estructura de contenidos
Mapa Conceptual............................................................................2
Introducción..................................................................................3
1. APLICACIÓN DE EJEMPLO CON PROGRAMACIÓN ESTRUCTURADA.....4
1.1. Enunciado..........................................................................4
1.2. Código en Java con Programación Estructurada.......................5
2. APLICANDO EL PARADIGMA POO..................................................7
2.1. Definiendo las Clases...........................................................7
2.1.1. Los Atributos.............................................................8
2.1.2. Los Constructores......................................................9
2.1.3. Los Métodos............................................................ 10
2.1.4. La Encapsulación..................................................... 10
2.2. La Abstracción.................................................................. 12
2.3. Los Objetos...................................................................... 12
2.4. Ejecución de Métodos........................................................ 15
2.5. Desarrollo de la clase Aplicación.......................................... 16
3. EJEMPLO 2 DE PROGRAMACIÓN..................................................19
3.1. Enunciado ....................................................................... 19
3.2. Solución con Programación Estructurada.............................. 20
3.2.1. Ejecución de la aplicación Estructurada....................... 21
3.3. Solución con Programación Orientada a Objetos.................... 24
3.3.1. Ejecución de la aplicación Orientada a Objetos............. 27
3.4. Conclusiones.................................................................... 29
Introducción
PROGRAMACIÓN ORIENTADA
A OBJETOS APLICADA
Introducción.
3
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
1.1. Enunciado
mport javax.swing.JOptionPane;
public class Programa1
{
public static void main(String[] args)
{
String nombre;
float nota1,nota2,notaFinal;
for(int est=1;est<=3;est++)
{
nombre=JOptionPane.showInputDialog(null,”Ingrese el nombre del estudiante”);
nota1=Float.parseFloat(JOptionPane.showInputDialog(null,”Ingrese la nota 1 del estudiante”));
nota2=Float.parseFloat(JOptionPane.showInputDialog(null,”Ingrese la nota 2 del estudiante”));
notaFinal=(nota1+nota2)/2;
JOptionPane.showMessageDialog(null,”Información del Estudiante\nNOMBRE: “+nombre+” NOTA FINAL: “+notaFinal);
if(notaFinal < 3)
{
JOptionPane.showMessageDialog(null,”El estudiante Reprueba el curso”);
}
else
{
JOptionPane.showMessageDialog(null,”El estudiante Aprueba el curso”);
}
}
}
}
4
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
1 mport javax.swing.JOptionPane;
2 public class Programa1
3 {
4 public static void main(String[] args)
5 {
6 String nombre;
7 float nota1,nota2,notaFinal;
8
9 for(int est=1;est<=3;est++)
10 {
11 nombre=JOptionPane.showInputDialog(null,”Ingrese el nombre del estudiante”);
12 nota1=Float.parseFloat(JOptionPane.showInputDialog(null,”Ingrese la nota 1 del estudiante”));
13 nota2=Float.parseFloat(JOptionPane.showInputDialog(null,”Ingrese la nota 2 del estudiante”));
14 notaFinal=(nota1+nota2)/2;
15 JOptionPane.showMessageDialog(null,”Información del Estudiante\nNOMBRE: “+nombre+” NOTA FINAL: “+notaFinal);
16 if(notaFinal < 3)
17 {
18 JOptionPane.showMessageDialog(null,”El estudiante Reprueba el curso”);
19 }
20 else
21 {
22 JOptionPane.showMessageDialog(null,”El estudiante Aprueba el curso”);
23 }
24 }
25 }
26 }
Entrada
Aceptar Cancelar
5
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
Entrada
Aceptar Cancelar
Entrada
Aceptar Cancelar
Mensaje
Aceptar
Mensaje
Aceptar
6
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
aplicación Clase
nombre Atributo
estudiantes Clase
de un Relación (No tenida en cuenta por el alcance del
programa)
7
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
8
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
9
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
Ahora, se deben definir las funcionalidades que tendrá cada clase, estas
funcionalidades se establecen a través de sus métodos. Los métodos de
una clase tienen una alta relación con los atributos de la misma, por esa
razón a la hora de definir un método, se debe verificar si este es posible
de lograr con los atributos definidos.
2.1.4. La Encapsulación.
10
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
11
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
2.2. La Abstracción.
ESTUDIANTE SENA
Nombre.
Teléfono.
Dirección.
Edad.
Tipo de sangre.
Color favorito.
12
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
Estudiante
Open Editor
Compile
Inspect
Remove
Estudiante(String nombre)
Ok Cancel
13
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
Estudiante
Ok Cancel
Estudiante
estudian1: estudian2:
Estudiante Estudiante
Cada objeto tiene su propio estado, es decir, cuenta con sus propios
valores para sus atributos.
estudian2: Estudiante
Inspect
String nombre “Aura Ruiz”
Get
3.2
4.1
0.0
Close
14
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
estudian1: Inspect
Estudiante Remove
estudian2.obtenerNota() Inspect
returned: Get
3.65
Close
15
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
estudian2.obtenerMensaje() Inspect
returned: Get
String “Aprobado”
Close
16
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de la clase Aplicación.
17
import javax.swing.JOptionPane;
public class Aplicacion
{
public static void main(String args[])
{
Estudiante est;
for(int i=1;i<=3;i++)
FAVA - Formación en Ambientes Virtuales de Aprendizaje
{
String nombre=JOptionPane.showInputDialog(null,”Ingrese el nombre del estudiante”);
float nota1=Float.parseFloat(JOptionPane.showInputDialog(null,”Ingrese la nota 1 del estudiante”));
float nota2=Float.parseFloat(JOptionPane.showInputDialog(null,”Ingrese la nota 2 del estudiante”));
est=new Estudiante(nombre);
est.asignarNotaParcial1(nota1);
Estudiante
Aplicacion
new Aplicacion()
Open Editor
Compile
Inspect
Remove
Entrada
Aceptar Cancelar
Entrada
Aceptar Cancelar
Entrada
Aceptar Cancelar
18
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
Mensaje
El estudiante Andres Julian Valencia
Obtuvo una nota final de 4.25
Aprobado
Aceptar
3. EJEMPLO 2 DE PROGRAMACIÓN
3.1. Enunciado
mport javax.swing.JOptionPane;
public class Programa1
{
public static void main(String[] args)
{
String nombre;
float nota1,nota2,notaFinal;
for(int est=1;est<=3;est++)
{
nombre=JOptionPane.showInputDialog(null,”Ingrese el nombre del estudiante”);
nota1=Float.parseFloat(JOptionPane.showInputDialog(null,”Ingrese la nota 1 del estudiante”));
nota2=Float.parseFloat(JOptionPane.showInputDialog(null,”Ingrese la nota 2 del estudiante”));
notaFinal=(nota1+nota2)/2;
JOptionPane.showMessageDialog(null,”Información del Estudiante\nNOMBRE: “+nombre+” NOTA FINAL: “+notaFinal);
if(notaFinal < 3)
{
JOptionPane.showMessageDialog(null,”El estudiante Reprueba el curso”);
}
else
{
JOptionPane.showMessageDialog(null,”El estudiante Aprueba el curso”);
}
}
}
}
19
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
1 import javax.swing.JOptionPane;
2 import java.util.ArrayList;
3 public class ProgramaEstructurado
4 {
5 public static void main(String[] args)
6 {
7 String nombre, cargo;
8 double salario, total=0,mayorSalario,menorSalario;
9 int posicion=0;
10 //Definición de las estructuras de almacenamiento
11 ArrayList<String> nombres = new ArrayList<String>();
12 ArrayList<Double> salarios = new ArrayList<Double>();
13 ArrayList<String> cargos = new ArrayList<String>();
14
15 int cantidad=Integer.parseInt(JOptionPane.showInputDialog(null,”Ingrese la cantidad de empleados”));
16
17 for(int emp=1;emp<=cantidad;emp++)
18 {
19 //lectura de los datos de cada empleado
20 nombre=JOptionPane.showInputDialog(null,”Ingrese el nombre del empleado”);
21 salario=Double.parseDouble(JOptionPane.showInputDialog(null,”Ingrese el salario del empleado”));
22 cargo=JOptionPane.showInputDialog(null,”Ingrese el cargo del empleado”);
23 //almacenamiento de los datos
24 nombres.add(nombre);
25 salarios.add(salario);
26 cargos.add(cargo);
27 }
28 //número de empleados
29 System.out.println(“El numero total de empleados es:”+cantidad);
30 //nombre y salario de cada empleado
31 System.out.println(“Los nombres y salarios de los empleados son:”);
32 for(int emp=0;emp<cantidad;emp++)
33 {
34 System.out.println(“Nombre:”+nombres.get(emp)+” Salario:”+salarios.get(emp));
35 }
36 //total de dinero pagado por los salarios de todos los empleados
37 for(int emp=0;emp<cantidad;emp++)
38 {
39 total=total+salarios.get(emp);
40 }
41 System.out.println(“Total de dinero pagado a todos los empleados:”+total);
42 //nombre, cargo y salario del empleado que mas dinero gana
43 System.out.println(“El empleado que mas dinero gana es:”);
44 mayorSalario=salarios.get(0);
45 for(int emp=1;emp<cantidad;emp++)
46 {
47 if(salarios.get(emp)>mayorSalario)
48 {
49 mayorSalario=salarios.get(emp);
50 posicion=emp;
51 }
52 }
53 System.out.println(“Nombre:”+nombres.get(posicion)+” Cargo:”+cargos.get(posicion)+” Salario:”+salarios.get(posicion));
54 //nombre, cargo y salario del empleado que menos dinero gana
55 System.out.println(“El empleado que menos dinero gana es:”);
56 menorSalario=salarios.get(0);
57 posicion=0;
58 for(intt emp=1;emp<cantidad;emp++)
20
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
59 {
60 if(salarios.get(emp)<menorSalario)
61 {
62 menorSalario=salarios.get(emp);
63 posicion=emp;
64 }
65 }
66 System.out.println(“Nombre:”+nombres.get(posicion)+” Cargo:”+cargos.get(posicion)+” Salario:”+salarios.get(posicion));
67 }
68 }
Entrada
Aceptar Cancelar
Empleado1
Entrada
Aceptar Cancelar
Entrada
Aceptar Cancelar
21
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
Entrada
Aceptar Cancelar
Empleado 2
Entrada
Aceptar Cancelar
Entrada
Aceptar Cancelar
Entrada
Aceptar Cancelar
Empleado 3
Entrada
Aceptar Cancelar
22
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
Entrada
Aceptar Cancelar
Entrada
Aceptar Cancelar
23
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
24
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
1 import java.util.ArrayList;
2 public class Empresa
3 {
4 //Atributos
5 private ArrayList<Empleado> empleados;
6 //constructor
7 public Empresa()
8 {
9 empleados= new ArrayList<Empleado>();
10 }
11 //método que agrega empleados a la empresa
12 public void contratarEmpleado(Empleado e)
13 {
14 empleados.add(e);
15 }
16 //método que obtiene el total de empleados
17 public int getTotalEmpleados()
18 {
19 return empleados.size();
20 }
21 //método que muestra el nombre y salario de todos los empleados
22 public void nombreSalario()
23 {
24 for(Empleado e:empleados)
25 {
26 System.out.println(“Nombre: “+e.getNombre()+” Salario: “+e.getSalario());
27 }
28 }
29 //método que retorna el total de dinero pagado a todos los empleados
30 public double getTotalSalarios()
31 {
32 double total=0;
33 for(Empleado e:empleados)
34 {
35 total=total+e.getSalario();
36 }
37 return total;
38 }
39 //método que muestra el nombre, cargo y salario del empleado que más dinero gana
40 public void empleadoMayorSalario()
41 {
42 Empleado empMayorSalario=empleados.get(0);
43 double maxSalario=empleados.get(0).getSalario();
44
45 for(Empleado e:empleados)
46 {
47 if(e.getSalario()>maxSalario)
48 {
49 maxSalario=e.getSalario();
50 empMayorSalario=e;
51 }
52 }
53 System.out.println(“El empleado que mas dinero gana es “);
54 System.out.print(“Nombre:”+empMayorSalario.getNombre());
55 System.out.print(“ Cargo:”+empMayorSalario.getCargo());
56 System.out.println(“ Salario:”+empMayorSalario.getSalario());
57 }
58 //método que muestra el nombre, cargo y salario del empleado que menos dinero gana
59 public void empleadoMenorSalario()
60 {
61 Empleado empMenorSalario=empleados.get(0);
62 double menSalario=empleados.get(0).getSalario();
63
25
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
64 for(Empleado e:empleados)
65 {
66 if(e.getSalario()<menSalario)
67 {
68 menSalario=e.getSalario();
69 empMenorSalario=e;
70 }
71 }
72 System.out.println(“El empleado que menos dinero gana es “);
73 System.out.print(“Nombre:”+empMenorSalario.getNombre());
74 System.out.print(“ Cargo:”+empMenorSalario.getCargo());
75 System.out.println(“ Salario:”+empMenorSalario.getSalario());
76 }
77 }
1 import javax.swing.JOptionPane;
2 public class Principal
3 {
4 public static void main(String arg[])
5 {
6 int cantidad=Integer.parseInt(JOptionPane.showInputDialog(null,”Ingrese la cantidad de empleados”));
7 Empresa empresa= new Empresa();//instancia de la clase Empresa
8
9 for(int emp=1;emp<=cantidad;emp++)
10 {
11 //lectura de los datos de cada empleado
12 String nombre=JOptionPane.showInputDialog(null,”Ingrese el nombre del empleado”);
13 double salario=Double.parseDouble(JOptionPane.showInputDialog(null,”Ingrese el salario del empleado”));
14 String cargo=JOptionPane.showInputDialog(nulll,”Ingrese el cargo del empleado”);
15 //adición del nuevo empleado a la empresa
16 empresa.contratarEmpleado(new Empleado(nombre,salario,cargo));
17 }
18 //número de empleados
19 System.out.println(“\nEl numero total de empleados es:”+empresa.getTotalEmpleados());
20 //nombre y salario de cada empleado
21 System.out.println(“\nLos nombres y salarios de los empleados son:”);
22 empresa.nombreSalario();
23 //Total de dinero pagado a todos los empleados
24 System.out.println(“\nTotal de dinero pagado a todos los empleados:”+empresa.getTotalSalarios());
25 //nombre, cargo y salario del empleado que más dinero gana
26 empresa.empleadoMayorSalario();
26 //nombre, cargo y salario del empleado que menos dinero gana
27 empresa.empleadoMenorSalario();
28 }
29 }
26
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
Entrada
Aceptar Cancelar
Empleado1
Entrada
Aceptar Cancelar
Entrada
Aceptar Cancelar
Entrada
Aceptar Cancelar
Empleado 2
Entrada
Aceptar Cancelar
27
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
Entrada
Aceptar Cancelar
Entrada
Aceptar Cancelar
Empleado 3
Entrada
Aceptar Cancelar
Entrada
Aceptar Cancelar
Entrada
Aceptar Cancelar
28
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
3.4. Conclusiones
29
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Programación orientada a objetos aplicada.
Desarrollador de contenido
Andrés Julián Valencia Osorio
Experto temático
30
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje