Capitulo 10 Programación Orientada a Objetos Usando el Diagrama de Clases
Objeto <ul><li>Los objetos son sujetos o cosas que encontramos en el dominio del problema de nuestra realidad. </li></ul>C...
Como Identificar Los Objetos <ul><li>Se buscan los sustantivos presentes en la especificación; los sustantivos son los obj...
<ul><li>Representación de una clase y sus instancias </li></ul>Estudiante objetoEstudiante Nombre Roberto Teléfono 0935384...
Encapsulación <ul><li>Es colocar juntos los datos y los métodos dentro de un objeto, cuando el código y los datos son enti...
Diseño Del Diagrama De Clases <ul><li>Una vez que se tienen definidos los datos y los métodos necesarios, se procede a dis...
Modificadores De Acceso <ul><li>Con los símbolos -+#_* se indica la visibilidad que tendrá cada dato o método, a estos se ...
Visibilidad de los datos <ul><li>- Privado(Private) </li></ul><ul><li>Solo pueden ser vistos y utilizados  por métodos de ...
<ul><li>+ Público(Public) </li></ul><ul><li>Pueden ser visto y utilizados tanto por  métodos de la misma clase, como por  ...
Visibilidad de los métodos <ul><li>- Privado(Private) </li></ul><ul><li>Solo pueden ser vistos y utilizados  por  métodos ...
<ul><li>+ Público(Public) </li></ul><ul><li>Pueden ser visto y utilizados tanto por  métodos de la misma clase, como por  ...
<ul><li>Ejemplo </li></ul><ul><li>ClaseEjemplo </li></ul><ul><li>dato1 </li></ul><ul><li>+ dato2 </li></ul><ul><li># dato3...
Capitulo 11 Programación Orientada a Objetos aplicando la estructura de secuenciación
Para diseñar un programa o algoritmo orientado a objetos se hacen dos cosas:  Primero.-  Se diseña el diagrama de clases s...
Segundo.-  Se diseña la lógica de cada una de las clases utilizando la técnica pseudocódigo. <ul><li>Algoritmo Sueldo de u...
4. Método establecerCuotaHora(cuotaHr:  Real) a.  cuotaHora = cuotaHr b.  fin Método establecerCuotaHora 5.  Método calcul...
c.  Solicitar Nombre, número de horas trabajadas y cuotas por hora d.  Leer nomEmp,  hrsTra, cuohr e.  Establecer  objEmpl...
arEEEE establecerNombreEmp() establecerHorasTrab() establecerCuotaHora() calcularSueldo() obtenerNombreEmp() obtenerSueldo...
Capitulo 12 <ul><li>Programación   Orientada   AObjetos   Aplicando   Las   Estructuras   De   Selección </li></ul>
Diseño de algoritmos OO usando la selección doble(IF-THEN ELSE) EjecutaEmpleado Empleado nombreEmp horasTrab cuotaHora sue...
<ul><li>Algoritmo CALCULAR SUELDO DOBLE DE UN EMPLEADO </li></ul><ul><li>Clase Empleado </li></ul><ul><li>1.  Declaracione...
<ul><li>4.  Método establecerCuotaHora(cuotaHr:  Real) </li></ul><ul><li>a.  cuotaHora = cuotaHr </li></ul><ul><li>b.  Fin...
<ul><li>Clase ejecutaEmpleado </li></ul><ul><li>1.  Método Principal </li></ul><ul><li>a.  Declaraciones </li></ul><ul><li...
Diseño de algoritmos OO usando la selección múltiple(SWITCH) EjecutaDiceDia DiceDia numDia nombreDia establecerNumDia() ca...
<ul><li>Algoritmo DICE DIA </li></ul><ul><li>Clase DiceDia </li></ul><ul><li>1.  Declaraciones </li></ul><ul><li>Datos </l...
<ul><li>4.  Método obtenerNombreDia(): Cadena </li></ul><ul><li>a.  Return nombreDia </li></ul><ul><li>b.  Fin Método obte...
Próxima SlideShare
Cargando en…5
×

Exposicion Capitulo 10,11,12

1.001 visualizaciones

Publicado el

exposición de fundamentos de la programación sobre metodos clases.

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
1.001
En SlideShare
0
De insertados
0
Número de insertados
10
Acciones
Compartido
0
Descargas
34
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Exposicion Capitulo 10,11,12

  1. 1. Capitulo 10 Programación Orientada a Objetos Usando el Diagrama de Clases
  2. 2. Objeto <ul><li>Los objetos son sujetos o cosas que encontramos en el dominio del problema de nuestra realidad. </li></ul>Como están formado los Objetos Datos: Atributos que describe su forma o apariencia. Métodos: Manipulan los datos para hacer la entrada, proceso y salida de los mismos
  3. 3. Como Identificar Los Objetos <ul><li>Se buscan los sustantivos presentes en la especificación; los sustantivos son los objetos </li></ul>Determinar Las Clases Los objetos identificados se convierten en clases
  4. 4. <ul><li>Representación de una clase y sus instancias </li></ul>Estudiante objetoEstudiante Nombre Roberto Teléfono 093538493 Cédula 1102030405 Ciudad Loja objetoEstudiante Nombre Luis Teléfono 092939458 Cédula 0702293994 Ciudad Loja - - - - - - - objetoEstudiante Nombre María Teléfono 086222300 Cédula 1100293887 Ciudad Catamayo
  5. 5. Encapsulación <ul><li>Es colocar juntos los datos y los métodos dentro de un objeto, cuando el código y los datos son entidades separadas, siempre existe el peligro de llamar el método correcto pero con los datos erróneos o viceversa </li></ul>
  6. 6. Diseño Del Diagrama De Clases <ul><li>Una vez que se tienen definidos los datos y los métodos necesarios, se procede a diseñar la estructura de clases </li></ul>Indica el nombre de la clase. Son los datos que representarán a cada uno de los objetos de la clase. Son lo método que establecerán y obtendrán los valores de los datos de cada uno de los objetos de esta clase. <ul><li>NombreClase </li></ul><ul><li>- dato 1 </li></ul><ul><li>- dato 2 </li></ul><ul><li>- dato 3 </li></ul><ul><li>datoN </li></ul><ul><li>Metodo1() </li></ul><ul><li>Metodo2() </li></ul><ul><li>Metodo3() </li></ul><ul><li>MetodoN() </li></ul>
  7. 7. Modificadores De Acceso <ul><li>Con los símbolos -+#_* se indica la visibilidad que tendrá cada dato o método, a estos se les conoce como modificadores de acceso: </li></ul><ul><li>Privado(-) </li></ul><ul><li>Protegido(#) </li></ul><ul><li>Público(+) </li></ul><ul><li>Estático(_) </li></ul><ul><li>Abstracto(*) </li></ul>
  8. 8. Visibilidad de los datos <ul><li>- Privado(Private) </li></ul><ul><li>Solo pueden ser vistos y utilizados por métodos de la misma clase. </li></ul><ul><li># Protegido(Protected) </li></ul><ul><li>Pueden ser vistos y utilizados por métodos de la misma clase y por métodos de subclases de la clase donde están declarados. </li></ul>
  9. 9. <ul><li>+ Público(Public) </li></ul><ul><li>Pueden ser visto y utilizados tanto por métodos de la misma clase, como por métodos de otras clase. </li></ul><ul><li>_ Estático(Static) </li></ul><ul><li>Pueden ser vistos y utilizados por todas las instancias de la clase. </li></ul>
  10. 10. Visibilidad de los métodos <ul><li>- Privado(Private) </li></ul><ul><li>Solo pueden ser vistos y utilizados por métodos de la misma clase. </li></ul><ul><li># Protegido(Protected) </li></ul><ul><li>Pueden ser vistos y utilizados por métodos de la misma clase y por métodos de subclases derivadas de la clase donde están declarados. </li></ul>
  11. 11. <ul><li>+ Público(Public) </li></ul><ul><li>Pueden ser visto y utilizados tanto por métodos de la misma clase, como por métodos de otras clase. </li></ul><ul><li>_ Estático(Static) </li></ul><ul><li>Pueden ser vistos y utilizados por métodos de todas las instancias de la clase. </li></ul><ul><li>* Abstracto(Abstract) </li></ul><ul><li>No tienen implementación; por tanto, deben ser implementados en subclase. </li></ul>
  12. 12. <ul><li>Ejemplo </li></ul><ul><li>ClaseEjemplo </li></ul><ul><li>dato1 </li></ul><ul><li>+ dato2 </li></ul><ul><li># dato3 </li></ul><ul><li>_ dato4 </li></ul><ul><li>Metodo1() </li></ul><ul><li>+Metodo2() </li></ul><ul><li>#Metodo3() </li></ul><ul><li>_Metodo4() </li></ul><ul><li>* Metodo5() </li></ul>
  13. 13. Capitulo 11 Programación Orientada a Objetos aplicando la estructura de secuenciación
  14. 14. Para diseñar un programa o algoritmo orientado a objetos se hacen dos cosas: Primero.- Se diseña el diagrama de clases siguiendo los pasos indicados en el capítulo anterior. Empleado5 nombreEmp horasTrab cuotaHora Sueldo establecerNombreEmp() establecerHorasTrab() establecerCuotaHora() calcularSueldo() obtenerNombreEmpleado() obtenerSueldo() EjecutaEmpleado5
  15. 15. Segundo.- Se diseña la lógica de cada una de las clases utilizando la técnica pseudocódigo. <ul><li>Algoritmo Sueldo de un empleado </li></ul><ul><li>Clase Empleado5 </li></ul><ul><li>Declaraciones </li></ul><ul><li>Datos </li></ul><ul><li>nombreEmp: Cadena </li></ul><ul><li>horasTrab: Entero </li></ul><ul><li>cuotaHora: Real </li></ul><ul><li>sueldo: Real </li></ul><ul><li>2. Metodo establecerNombreEmp(nom: cadena) </li></ul><ul><li>a. nombreEmp = nom </li></ul><ul><li>b. Fin Método establecerNombreEmp </li></ul><ul><li>3. Método establecerHorasTrab(horasTr: entero) </li></ul><ul><li>a. horasTrab = horasTr </li></ul><ul><li>b. fin Método establecerHorasTrab </li></ul>
  16. 16. 4. Método establecerCuotaHora(cuotaHr: Real) a. cuotaHora = cuotaHr b. fin Método establecerCuotaHora 5. Método calcularSueldo() a. sueldo = horasTrab * cuotaHora b. fin Método calcularSueldo 6. Método obtenerNombreEmp(): Cadena a. Return nombreEmp b. fin Método obtenerNombreEmp 7. Método obtenerSueldo() : Real a. Return sueldo b. fin Método obtenerSueldo fin clase Empleado5 Clase EjecutarEmpleado5 1. Método principal1 a. Declaraciones Variables nomEmp: Cadena hrsTra: entero cuoTra: Real b. Declarar, crear e iniciar objetos Empleado5 objEmpleado = new Empeado5()
  17. 17. c. Solicitar Nombre, número de horas trabajadas y cuotas por hora d. Leer nomEmp, hrsTra, cuohr e. Establecer objEmpleado.establecerNombreEmp(nomEmp) objEmpleado.establecerHorasTrab(hrsTra) objEmpleado.establecerCuotaHora(cuoHr) f. Calcular objEmpleado.calcularSueldo() g. Imprimir objEmpleado.obtenerNombreEmp() objEmpleado.obtenerSueldo() h. Fin Método principal fin Clase EjecutaEmpleado5 fin
  18. 18. arEEEE establecerNombreEmp() establecerHorasTrab() establecerCuotaHora() calcularSueldo() obtenerNombreEmp() obtenerSueldo() arEEEE objEmpleado nombreEmp   horasTrab   cuotaHora   sueldo  
  19. 19. Capitulo 12 <ul><li>Programación Orientada AObjetos Aplicando Las Estructuras De Selección </li></ul>
  20. 20. Diseño de algoritmos OO usando la selección doble(IF-THEN ELSE) EjecutaEmpleado Empleado nombreEmp horasTrab cuotaHora sueldo establecerNombreEmp() establecerHorasTrab() establecerCuotaHora() calcularSueldo() obtenerNombreEmo() obtenerSueldo()
  21. 21. <ul><li>Algoritmo CALCULAR SUELDO DOBLE DE UN EMPLEADO </li></ul><ul><li>Clase Empleado </li></ul><ul><li>1. Declaraciones </li></ul><ul><li>Datos </li></ul><ul><li>nombreEmp: Cadena </li></ul><ul><li>horasTrab: Entero </li></ul><ul><li>cuotaHora: Real </li></ul><ul><li>sueldo: Real </li></ul><ul><li>2. Método establecerNombre(nom: Cadena) </li></ul><ul><li>a. nombreEmp = nom </li></ul><ul><li>b. Fin Método establecerNombre </li></ul><ul><li>3. Método establecerHorasTrab(horasTr: Entero) </li></ul><ul><li>a. horasTrab=horasTr </li></ul><ul><li>b. Fin Método establecerHorasTrab </li></ul>
  22. 22. <ul><li>4. Método establecerCuotaHora(cuotaHr: Real) </li></ul><ul><li>a. cuotaHora = cuotaHr </li></ul><ul><li>b. Fin Método establecerCuotaHora </li></ul><ul><li>5. Método calcularSueldo() </li></ul><ul><li>a. IF horasTrab <=40 THEN </li></ul><ul><li>1. sueldo = horasTrab * cuotaHora </li></ul><ul><li>b. ELSE </li></ul><ul><li>1. sueldo = (40*cuotaHora)+ </li></ul><ul><li> ((horasTrab-40)*(cuotaHora*2)) </li></ul><ul><li>c. ENDIF </li></ul><ul><li>d. Fin Método calcularSueldo </li></ul><ul><li>6. Método obtenerNombreEmp(): Cadena </li></ul><ul><li>a. return nombreEmp </li></ul><ul><li>b. Fin Método obtenerNombreEmp </li></ul><ul><li>7. Método obtenerSueldo(): Real </li></ul><ul><li>a. return sueldo </li></ul><ul><li>b. Fin Método obtenerSueldo </li></ul><ul><li>Fin Clase Empleado </li></ul>
  23. 23. <ul><li>Clase ejecutaEmpleado </li></ul><ul><li>1. Método Principal </li></ul><ul><li>a. Declaraciones </li></ul><ul><li>Variables </li></ul><ul><li>nomEmp: Cadena </li></ul><ul><li>hrsTrab: Entero </li></ul><ul><li>cuoHr: Real </li></ul><ul><li>b. Declarar, crear e iniciar objeto </li></ul><ul><li>Empleado objEmpleado = new Empleado() </li></ul><ul><li>c. Solicitar Nombre, numero de horas trabajadas y </li></ul><ul><li>cuota por hora </li></ul><ul><li>d. Leer nomEmp, hrsTra, couHr </li></ul><ul><li>e. Establecer objEmpleado.establecerNomreEmp(nomEmp) </li></ul><ul><li> objEmpleado.establecerHorasTrab(hrsTra) </li></ul><ul><li> objEmpleado.establecerCuotaHora(cuoHr) </li></ul><ul><li>f. Calcular objEmpleado.calcularSueldo() </li></ul><ul><li>g. Imprimir objEmpleado.obtenerNombreEmp() </li></ul><ul><li> objEmpleado.obtenerSueldo() </li></ul><ul><li>h. Fin Método Principal </li></ul><ul><li>Fin Clase ejecutaEmpleado </li></ul><ul><li>FIn </li></ul>
  24. 24. Diseño de algoritmos OO usando la selección múltiple(SWITCH) EjecutaDiceDia DiceDia numDia nombreDia establecerNumDia() calcularNombreDia() obtenerNombreDia()
  25. 25. <ul><li>Algoritmo DICE DIA </li></ul><ul><li>Clase DiceDia </li></ul><ul><li>1. Declaraciones </li></ul><ul><li>Datos </li></ul><ul><li>numDia: Entero </li></ul><ul><li>nombreDia: Cadena </li></ul><ul><li>2. Método establecerNumDia(num: Entero) </li></ul><ul><li>a. numDia = num </li></ul><ul><li>b. Fin Método establecerNumDia </li></ul><ul><li>3. Método calcularNombreDia() </li></ul><ul><li>a. SWITCH numDia </li></ul><ul><li>1. nombreDia= “LUNES” </li></ul><ul><li>2. nombreDia= “MARTES” </li></ul><ul><li>3. nombreDia=“MIERCOLES” </li></ul><ul><li>4. nombreDia=“JUEVES” </li></ul><ul><li>5. nombreDia=“VIERNES” </li></ul><ul><li>6. nombreDia=“SABADO” </li></ul><ul><li>7. nombreDia=“DOMINGO” </li></ul><ul><li>b. DEFAULT </li></ul><ul><li>1. nombreDia=“NO ESTA EN EL RANGO 1 A 7” </li></ul><ul><li>c. ENDSWITCH </li></ul><ul><li>d. Fin Método calcularNombreDia </li></ul>
  26. 26. <ul><li>4. Método obtenerNombreDia(): Cadena </li></ul><ul><li>a. Return nombreDia </li></ul><ul><li>b. Fin Método obtenerNombreDia </li></ul><ul><li>Fin Clase DiaDice </li></ul><ul><li>1. Medodo Principal </li></ul><ul><li>a. Declaraciones </li></ul><ul><li>Variables </li></ul><ul><li>nDia: Entero </li></ul><ul><li>b. Declarar, crear e iniciar objeto </li></ul><ul><li>DiceDia objDia = new DiceDia() </li></ul><ul><li>c. Solicitar Número de día </li></ul><ul><li>d. Leer nDia </li></ul><ul><li>e. Establecer objDia.establecerNumDia(nDia) </li></ul><ul><li>f. Calcular objDia.CalcularNombreDia() </li></ul><ul><li>g. Imprimir objDia.obtenerNombreDia() </li></ul><ul><li>h. Fin Método Principal </li></ul><ul><li>Fin Clase ejecutaDiceDia </li></ul><ul><li>FIn </li></ul>

×