SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Herencia a partir de la clase
"ROBOT"
Demo desde planeación hasta codificación
Módulo II -Desarrolla software de aplicación utilizando programación orientada a objetos con almacenamiento persistente de los datos
Submódulo 1 -Desarrolla software de aplicación utilizando programación orientada a objetos
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Problema:
Haga un programa que simule el encuentro de dos robots, uno es
amigable y el otro es hostil, de tal manera que el robot hostil dispara
(si es que está armado) o golpea al robot amigable; en caso de que el
robot hostil sea letal, el robot amigable será dañado perdiendo una
vida, pero si el robot hostil no es letal, entonces el robot amigable
puede esquivar los disparos o los golpes y puede huir. Muestre
capturas de pantallas de ambas situaciones.
Haga tres clases de robots, dos de los cuales son extensiones de una
clase de robot que consta de un atributo publico "nombre", de un
atributo privado para indicar si está armado o no, además, es capaz
de saludar o amenazar.
El robot hostil es un cazador que tiene un atributo encapsulado para
indicar si es letal o no, también es capaz de disparar.
El robot amigable es un recolector que tiene un atributo encapsulado
para indicar el número de vidas que le quedan, es capaz de esquivar
una agresión.
Despues de 100 años de holocausto nuclear, la inteligencia artificial fué cobrando mayor mimetización a
los humanos. Los robots salian a buscar alimentos para ayudar a la supervivenica de la humanidad, pero
como en toda sociedad en evolución, no todos los robots eran buenos.
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
La clase "Robot"
La propiedad "armado" guardará un valor (Si o No) con el cual se habilita al robot para disparar o a golpear.
El método "saludar" ningún valor devolverá, sólo mostrará en pantalla un mensaje de que el robot está siendo amigable
con otro robot. El método "amenazar" ningún valor devolverá, sólo mostrará en pantalla un mensaje de que el robot
está siendo hostil con otro robot.
Robot
+nombre
-armado
+saludar()
+amenazar()
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
La clase "Cazador"
La propiedad "letal" guardará un valor (Si o No) con el cual se indica si el robot es peligroso o no.
El método "disparar" nada devolverá, sólo presentará un mensaje en pantalla que indique que el robot cazador está
disparando (si es que está armado) o en su defecto, que está golpeando.
Cazador
+nombre
-letal
+disparar()
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
La clase "Recolector"
La propiedad "numVidas" guardará un valor numérico que indicará el número de vidas que le quedan al robot.
El método "esquivar" ningún valor devolverá, sólo mostrará en pantalla un mensaje de que el robot está esquivando un
disparo o golpe y además está huyendo.
Recolector
+nombre
-numVidas
+esquivar()
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Las tres clases
Como vemos, el atributo en común
de las tres clases es el de "nombre":
Robot
+nombre
-armado
+saludar()
+amenazar()
Cazador
+nombre
-letal
+disparar()
Recolector
+nombre
-numVidas
+esquivar()
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
La herencia
Se elimina el atributo "nombre" en las
clases de "Cazador" y de "Recolector".
Se indica que la clase "Cazador"
hereda de la clase "Robot".
Así mismo, se indica que la clase
"Recolector" es una extensión de la
clase "Robot".
Robot
+nombre
-armado
+saludar()
+amenazar()
Cazador
-letal
+disparar()
Recolector
-numVidas
+esquivar()
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Codificación de
las clases
Robot
+nombre
-armado
+saludar()
+amenazar()
Cazador
-letal
+disparar()
Recolector
-numVidas
+esquivar()
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Despliegue Robot
+nombre
-armado
+saludar()
+amenazar()
Cazador
-letal
+disparar()
Recolector
-numVidas
+esquivar()
Se requiere de una clase que contenga el
método "MAIN" que es el punto de partida
de un programa en JAVA.
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Resultado del Despliegue
Enseguida se muestra el resultado de la ejecución o corrida del programa.
Como se puede observar, hay algunos mensajes, pero no sabemos a ciencia cierta quién (o cuál
de los objetos creados) está mandando esos mensajes.
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Momento de la compilación
El nombre del programa es igual al nombre de la clase que contiene el método MAIN, de lo contrario, el compilador
mandará una excepción, es decir, marcará un error.
Prompt o indicador del
sistema, listo para recibir
una orden, instrucción o
comando.
Comando para compilar
el código fuente.
Nombre del archivo que
contiene el código fuente.
Éstas líneas no aparecen si
durante la compilación existen
errores en el código fuente.
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Momento de la ejecución
Cuando todo el código fuente es correcto en su sintaxis, el compilador crea el código objeto, en éste ejemplo, el nombre
del archivo que contiene el código objeto es "Robots".
Prompt o indicador del
sistema, listo para recibir
una orden, instrucción o
comando.
Comando para ejecutar
el código objeto.
Nombre del archivo que
contiene el código objeto. Su
extensión es ".class" (aunque
aquí sea omitida)
Son parámetros o modificadores que el sitio WEB
"coddingground" usa para realizar la ejecución del
código objeto. Éstos no se necesitan normalmente
cuando el compilador está instalado en la PC.
Mensajes programados en
los métodos de los objetos.
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Identificación de
quién está realizando
una acción
Para tener una mejor percepción de los
mensajes que cada objeto está
mostrando, usaremos el comando
"THIS" en las instrucciones que
muestran mensajes en la pantalla.
Robot
+nombre
-armado
+saludar()
+amenazar()
Cazador
-letal
+disparar()
Recolector
-numVidas
+esquivar()
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Resultado del segundo despliegue
Enseguida se muestra el resultado de la ejecución o corrida del programa por segunda ocasión. La clase del programa
principal continua siendo el mismo código fuente. Ahora se percibe mejor lo que hace cada objeto:
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Validación de la acción de disparar (true)
Se tiene que verificar si el robot en cuestión está armado para poder disparar. Para ello se hacen los arreglos necesarios en
el método "disparar". Se realiza la ejecución del programa y tiene que seguir mostrandose en pantalla lo mismo, dado que
terminator si está armado. La clase principal continúa sin cambios. Recordemos que el atributo es privado y fué heredado
de la clase "Robot".
Robot
+nombre
-armado
+saludar()
+amenazar()
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Validación de la acción de disparar (false)
Ahora en la clase principal, desarmamos a terminator (es decir, al objeto "Robotote") y cuando quiera disparar, al no estar
armado, entonces tiene que lanzar golpes.
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
PRIMER SITUACIÓN: Cazador letal y recolector pierde una vida
En el código fuente, en la clase principal, quitamos la
línea (instrucción) en la que el el robot recolector (es
decir, robotito) salía huyendo.
Escribimos código para validar si el robot cazador (es
decir, robotote) es letal para dañar al robot recolector.
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
SEGUNDA SITUACIÓN: Cazador no letal y recolector huye
En el código fuente, en la clase principal indicamos
que el robot cazador (Robotote) no es letal, por lo
tanto, el robot recolector puede escapar de la
agresión.
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
Finalización
1. El nombre del archivo con código fuente del programa se llama "Herencia_ROBOTS.java", el nombre de la clase principal
es el mismo, pero sin la extensión, es decir, "Herencia_ROBOTS".
2. El nombre del archivo con el código objeto creado por el compilador Java es "Herencia_ROBOTS.class".
3. El nombre del archivo con la captura de pantalla con ambos casos deberá ser "Herencia_ROBOTS.png" o
"Herencia_ROBOTS.jpg".
4. La captura de pantalla y el archivo del código fuente se ampaquetan o comprimen en un archivo con el nombre
siguiente: "GrupoID_AlumnoID_U1_E01" v.g. 3CmP_VOJC_POO_U1_E01.RAR o 3CmP_VOJC_POO_U1_E01.ZIP
5. Este programa se realizará en equipos de trabajo, con cualquier número de estudiantes que lo integren. Este programa
vale 3 puntos que se dividirán entre el número de personas que integren el equipo.
NOTA: Cada integrante del equipo creará un robot con nombre diferente
de forma que deben verse diálogos como el de Terminator y Wall-e (estos
dos nombres de robots no deben existir en sus programas). Si el equipo es
de dos personas deberá existir un sólo encuentro entre robot1 y el robot2;
si el equipo es de tres personas, deberán existir dos encuentros, es decir, el
encuentro del robot1 con el robot2 y el encuentro del robot2 con el
robot3; si el equipo es de cuatro estudiantes, deberán existir tres
encuentros... PRIMERO: el del robot1 con el robot2, SEGUNDO: el del
robot2 con el robot3 y TERCERO: el del robot3 con el robot4; y así
sucesivamente de acuerdo con el número de estudiantes en el equipo.
Cada encuentro separado por una línea punteada, por ejemplo -------->
2017
Oropeza
Curso POO 2017-1
Secretaría de Educación Pública
Subsecretaría de Educación Media Superior
Dirección General de Educación Tecnológica Industrial
CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue.
profeoropeza@gmail.com @profeoropeza
Gracias!

Contenu connexe

Similaire à Herencia_ROBOT.pdf

Sistemas multiagente para simulación
Sistemas multiagente para simulaciónSistemas multiagente para simulación
Sistemas multiagente para simulación
cccampos
 

Similaire à Herencia_ROBOT.pdf (19)

Dr. Scratch, una herramienta de asistencia al docente en la evaluación de pro...
Dr. Scratch, una herramienta de asistencia al docente en la evaluación de pro...Dr. Scratch, una herramienta de asistencia al docente en la evaluación de pro...
Dr. Scratch, una herramienta de asistencia al docente en la evaluación de pro...
 
Begins 14
Begins 14Begins 14
Begins 14
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Guia de robotica v2
Guia de robotica v2Guia de robotica v2
Guia de robotica v2
 
guia de robotica - LEGO
guia de robotica - LEGOguia de robotica - LEGO
guia de robotica - LEGO
 
Guia de robotica lego mindstorms nxt edublick
Guia de robotica lego mindstorms nxt edublickGuia de robotica lego mindstorms nxt edublick
Guia de robotica lego mindstorms nxt edublick
 
Guia de robotica v2
Guia de robotica v2Guia de robotica v2
Guia de robotica v2
 
Deep Learning para series de tiempo
Deep Learning para series de tiempoDeep Learning para series de tiempo
Deep Learning para series de tiempo
 
Presentacion scratch en colombia scratch al sur en Antofagasta y Concepción
Presentacion scratch en colombia   scratch al sur en Antofagasta y ConcepciónPresentacion scratch en colombia   scratch al sur en Antofagasta y Concepción
Presentacion scratch en colombia scratch al sur en Antofagasta y Concepción
 
Google docs 5
Google docs 5Google docs 5
Google docs 5
 
que es programar
 que es programar que es programar
que es programar
 
Sistemas multiagente para simulación
Sistemas multiagente para simulaciónSistemas multiagente para simulación
Sistemas multiagente para simulación
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Cross Reality @ PUC-Rio
Cross Reality @ PUC-RioCross Reality @ PUC-Rio
Cross Reality @ PUC-Rio
 
Mejores juegos para aprender a programar
Mejores juegos para aprender a programarMejores juegos para aprender a programar
Mejores juegos para aprender a programar
 
7ma actividad 4to periodo 7°
7ma actividad 4to periodo 7°7ma actividad 4to periodo 7°
7ma actividad 4to periodo 7°
 
presentacion 1)
presentacion 1)presentacion 1)
presentacion 1)
 
presentacion 1)
presentacion 1)presentacion 1)
presentacion 1)
 
Met2 07 01-introduccion_poo
Met2 07 01-introduccion_pooMet2 07 01-introduccion_poo
Met2 07 01-introduccion_poo
 

Dernier

SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docxSISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
gesicavillanuevaqf
 
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
helmer del pozo cruz
 
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfPasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
NELLYKATTY
 

Dernier (20)

cuadernillo_cuentos_de_los_valores_elprofe20 (1).docx
cuadernillo_cuentos_de_los_valores_elprofe20 (1).docxcuadernillo_cuentos_de_los_valores_elprofe20 (1).docx
cuadernillo_cuentos_de_los_valores_elprofe20 (1).docx
 
a propósito de la globalización y sus efectos
a propósito de la globalización y sus efectosa propósito de la globalización y sus efectos
a propósito de la globalización y sus efectos
 
CONCLUSIONES DESCRIPTIVAS TIC que ayudaran a tus registrosdocx
CONCLUSIONES DESCRIPTIVAS TIC que ayudaran a tus registrosdocxCONCLUSIONES DESCRIPTIVAS TIC que ayudaran a tus registrosdocx
CONCLUSIONES DESCRIPTIVAS TIC que ayudaran a tus registrosdocx
 
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docxSISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
 
Estudios Sociales libro 8vo grado Básico
Estudios Sociales libro 8vo grado BásicoEstudios Sociales libro 8vo grado Básico
Estudios Sociales libro 8vo grado Básico
 
4ª SESION la misión santificadora del Espíritu Santo en la vida de la Iglesi...
4ª SESION  la misión santificadora del Espíritu Santo en la vida de la Iglesi...4ª SESION  la misión santificadora del Espíritu Santo en la vida de la Iglesi...
4ª SESION la misión santificadora del Espíritu Santo en la vida de la Iglesi...
 
ciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemasciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemas
 
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
 
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
 
ACERTIJO SOPA DE LETRAS OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO SOPA DE LETRAS OLÍMPICA. Por JAVIER SOLIS NOYOLAACERTIJO SOPA DE LETRAS OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO SOPA DE LETRAS OLÍMPICA. Por JAVIER SOLIS NOYOLA
 
¿Que es Fuerza? online 2024 Repaso CRECE.pptx
¿Que es Fuerza? online 2024 Repaso CRECE.pptx¿Que es Fuerza? online 2024 Repaso CRECE.pptx
¿Que es Fuerza? online 2024 Repaso CRECE.pptx
 
PLAN DE GESTION DEL RIESGO 2023 - 2024.docx
PLAN DE GESTION DEL RIESGO  2023 - 2024.docxPLAN DE GESTION DEL RIESGO  2023 - 2024.docx
PLAN DE GESTION DEL RIESGO 2023 - 2024.docx
 
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxDESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
 
Sesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdfSesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdf
 
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfPasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
 
Revista Faro Normalista 6, 18 de mayo 2024
Revista Faro Normalista 6, 18 de mayo 2024Revista Faro Normalista 6, 18 de mayo 2024
Revista Faro Normalista 6, 18 de mayo 2024
 
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
 
flujo de materia y energía ecosistemas.
flujo de materia y  energía ecosistemas.flujo de materia y  energía ecosistemas.
flujo de materia y energía ecosistemas.
 
Vínculo afectivo (labor expositivo de grupo )
Vínculo afectivo (labor expositivo de grupo )Vínculo afectivo (labor expositivo de grupo )
Vínculo afectivo (labor expositivo de grupo )
 
La historia de la vida estudiantil a 102 años de la fundación de las Normales...
La historia de la vida estudiantil a 102 años de la fundación de las Normales...La historia de la vida estudiantil a 102 años de la fundación de las Normales...
La historia de la vida estudiantil a 102 años de la fundación de las Normales...
 

Herencia_ROBOT.pdf

  • 1. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Herencia a partir de la clase "ROBOT" Demo desde planeación hasta codificación Módulo II -Desarrolla software de aplicación utilizando programación orientada a objetos con almacenamiento persistente de los datos Submódulo 1 -Desarrolla software de aplicación utilizando programación orientada a objetos
  • 2. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Problema: Haga un programa que simule el encuentro de dos robots, uno es amigable y el otro es hostil, de tal manera que el robot hostil dispara (si es que está armado) o golpea al robot amigable; en caso de que el robot hostil sea letal, el robot amigable será dañado perdiendo una vida, pero si el robot hostil no es letal, entonces el robot amigable puede esquivar los disparos o los golpes y puede huir. Muestre capturas de pantallas de ambas situaciones. Haga tres clases de robots, dos de los cuales son extensiones de una clase de robot que consta de un atributo publico "nombre", de un atributo privado para indicar si está armado o no, además, es capaz de saludar o amenazar. El robot hostil es un cazador que tiene un atributo encapsulado para indicar si es letal o no, también es capaz de disparar. El robot amigable es un recolector que tiene un atributo encapsulado para indicar el número de vidas que le quedan, es capaz de esquivar una agresión. Despues de 100 años de holocausto nuclear, la inteligencia artificial fué cobrando mayor mimetización a los humanos. Los robots salian a buscar alimentos para ayudar a la supervivenica de la humanidad, pero como en toda sociedad en evolución, no todos los robots eran buenos.
  • 3. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. La clase "Robot" La propiedad "armado" guardará un valor (Si o No) con el cual se habilita al robot para disparar o a golpear. El método "saludar" ningún valor devolverá, sólo mostrará en pantalla un mensaje de que el robot está siendo amigable con otro robot. El método "amenazar" ningún valor devolverá, sólo mostrará en pantalla un mensaje de que el robot está siendo hostil con otro robot. Robot +nombre -armado +saludar() +amenazar()
  • 4. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. La clase "Cazador" La propiedad "letal" guardará un valor (Si o No) con el cual se indica si el robot es peligroso o no. El método "disparar" nada devolverá, sólo presentará un mensaje en pantalla que indique que el robot cazador está disparando (si es que está armado) o en su defecto, que está golpeando. Cazador +nombre -letal +disparar()
  • 5. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. La clase "Recolector" La propiedad "numVidas" guardará un valor numérico que indicará el número de vidas que le quedan al robot. El método "esquivar" ningún valor devolverá, sólo mostrará en pantalla un mensaje de que el robot está esquivando un disparo o golpe y además está huyendo. Recolector +nombre -numVidas +esquivar()
  • 6. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Las tres clases Como vemos, el atributo en común de las tres clases es el de "nombre": Robot +nombre -armado +saludar() +amenazar() Cazador +nombre -letal +disparar() Recolector +nombre -numVidas +esquivar()
  • 7. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. La herencia Se elimina el atributo "nombre" en las clases de "Cazador" y de "Recolector". Se indica que la clase "Cazador" hereda de la clase "Robot". Así mismo, se indica que la clase "Recolector" es una extensión de la clase "Robot". Robot +nombre -armado +saludar() +amenazar() Cazador -letal +disparar() Recolector -numVidas +esquivar()
  • 8. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Codificación de las clases Robot +nombre -armado +saludar() +amenazar() Cazador -letal +disparar() Recolector -numVidas +esquivar()
  • 9. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Despliegue Robot +nombre -armado +saludar() +amenazar() Cazador -letal +disparar() Recolector -numVidas +esquivar() Se requiere de una clase que contenga el método "MAIN" que es el punto de partida de un programa en JAVA.
  • 10. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Resultado del Despliegue Enseguida se muestra el resultado de la ejecución o corrida del programa. Como se puede observar, hay algunos mensajes, pero no sabemos a ciencia cierta quién (o cuál de los objetos creados) está mandando esos mensajes.
  • 11. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Momento de la compilación El nombre del programa es igual al nombre de la clase que contiene el método MAIN, de lo contrario, el compilador mandará una excepción, es decir, marcará un error. Prompt o indicador del sistema, listo para recibir una orden, instrucción o comando. Comando para compilar el código fuente. Nombre del archivo que contiene el código fuente. Éstas líneas no aparecen si durante la compilación existen errores en el código fuente.
  • 12. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Momento de la ejecución Cuando todo el código fuente es correcto en su sintaxis, el compilador crea el código objeto, en éste ejemplo, el nombre del archivo que contiene el código objeto es "Robots". Prompt o indicador del sistema, listo para recibir una orden, instrucción o comando. Comando para ejecutar el código objeto. Nombre del archivo que contiene el código objeto. Su extensión es ".class" (aunque aquí sea omitida) Son parámetros o modificadores que el sitio WEB "coddingground" usa para realizar la ejecución del código objeto. Éstos no se necesitan normalmente cuando el compilador está instalado en la PC. Mensajes programados en los métodos de los objetos.
  • 13. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Identificación de quién está realizando una acción Para tener una mejor percepción de los mensajes que cada objeto está mostrando, usaremos el comando "THIS" en las instrucciones que muestran mensajes en la pantalla. Robot +nombre -armado +saludar() +amenazar() Cazador -letal +disparar() Recolector -numVidas +esquivar()
  • 14. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Resultado del segundo despliegue Enseguida se muestra el resultado de la ejecución o corrida del programa por segunda ocasión. La clase del programa principal continua siendo el mismo código fuente. Ahora se percibe mejor lo que hace cada objeto:
  • 15. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Validación de la acción de disparar (true) Se tiene que verificar si el robot en cuestión está armado para poder disparar. Para ello se hacen los arreglos necesarios en el método "disparar". Se realiza la ejecución del programa y tiene que seguir mostrandose en pantalla lo mismo, dado que terminator si está armado. La clase principal continúa sin cambios. Recordemos que el atributo es privado y fué heredado de la clase "Robot". Robot +nombre -armado +saludar() +amenazar()
  • 16. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Validación de la acción de disparar (false) Ahora en la clase principal, desarmamos a terminator (es decir, al objeto "Robotote") y cuando quiera disparar, al no estar armado, entonces tiene que lanzar golpes.
  • 17. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. PRIMER SITUACIÓN: Cazador letal y recolector pierde una vida En el código fuente, en la clase principal, quitamos la línea (instrucción) en la que el el robot recolector (es decir, robotito) salía huyendo. Escribimos código para validar si el robot cazador (es decir, robotote) es letal para dañar al robot recolector.
  • 18. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. SEGUNDA SITUACIÓN: Cazador no letal y recolector huye En el código fuente, en la clase principal indicamos que el robot cazador (Robotote) no es letal, por lo tanto, el robot recolector puede escapar de la agresión.
  • 19. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. Finalización 1. El nombre del archivo con código fuente del programa se llama "Herencia_ROBOTS.java", el nombre de la clase principal es el mismo, pero sin la extensión, es decir, "Herencia_ROBOTS". 2. El nombre del archivo con el código objeto creado por el compilador Java es "Herencia_ROBOTS.class". 3. El nombre del archivo con la captura de pantalla con ambos casos deberá ser "Herencia_ROBOTS.png" o "Herencia_ROBOTS.jpg". 4. La captura de pantalla y el archivo del código fuente se ampaquetan o comprimen en un archivo con el nombre siguiente: "GrupoID_AlumnoID_U1_E01" v.g. 3CmP_VOJC_POO_U1_E01.RAR o 3CmP_VOJC_POO_U1_E01.ZIP 5. Este programa se realizará en equipos de trabajo, con cualquier número de estudiantes que lo integren. Este programa vale 3 puntos que se dividirán entre el número de personas que integren el equipo. NOTA: Cada integrante del equipo creará un robot con nombre diferente de forma que deben verse diálogos como el de Terminator y Wall-e (estos dos nombres de robots no deben existir en sus programas). Si el equipo es de dos personas deberá existir un sólo encuentro entre robot1 y el robot2; si el equipo es de tres personas, deberán existir dos encuentros, es decir, el encuentro del robot1 con el robot2 y el encuentro del robot2 con el robot3; si el equipo es de cuatro estudiantes, deberán existir tres encuentros... PRIMERO: el del robot1 con el robot2, SEGUNDO: el del robot2 con el robot3 y TERCERO: el del robot3 con el robot4; y así sucesivamente de acuerdo con el número de estudiantes en el equipo. Cada encuentro separado por una línea punteada, por ejemplo -------->
  • 20. 2017 Oropeza Curso POO 2017-1 Secretaría de Educación Pública Subsecretaría de Educación Media Superior Dirección General de Educación Tecnológica Industrial CETis N° 67 "Daniel Cabrera Rivera" -Cholula, Pue. profeoropeza@gmail.com @profeoropeza Gracias!