SlideShare una empresa de Scribd logo
3
La abstracción se puede definir de varias formas. Nos centraremos en la idea de alejarnos de una función
específica para adoptar una más general.
Piense en abstracción como el proceso de pasar de una tarea más específica a una tarea más general. Por
lo tanto, en lugar de llamar a un constructor que siempre realice las mismas tareas, podríamos transferir
valores que nos permitieran cambiar la configuración inicial.
4
Ya hemos comenzado a realizar la abstracción mediante la creación de nuestros propios métodos y
constructores.
5
Cuando escriba código fuente y compruebe que algo que está escribiendo es muy parecido a otro código
que ha escrito, debe comprobar si puede abstraer su finalidad a otro método. A continuación, llámelo
desde las ubicaciones correctas. A continuación, producirá código que es más fácil de mantener.
6
Podríamos haber escrito
Fly fly1 = new Fly();
fly1.setSpeed(4); // un método definido
fly1.setRotation(90);
Tendríamos que repetir el código anterior para cada mosca. Al abstraer su propósito al constructor, reduce
en gran medida la repetición.
7
El equipo de programación de Greenfoot ha creado métodos para que la tarea de desarrollo le resulte más
sencilla. Puede abstraerlo aún más para que sea más potente.
8
Modificará con frecuencia constructores para que pueda transferirles la información inicial.
9
public void increaseScore(int value) {
score = score + value;
}
Podríamos llamarlo desde un área como increaseScore(5) y desde otra área como increaseScore(10).
10
Sumamos 1 a la velocidad porque getRandomNumber() puede devolver un 0. Una mosca con una velocidad
de cero es muy fácil de atrapar.
11
Si desea cambiar la velocidad, el giro, etc. durante un juego, debe crear una variable de clase para
almacenar el valor actual.
12
De este modo, se agregará una mosca en las coordenadas (150,150) con una velocidad máxima aleatoria de
2 a partir de una dirección de 90 grados.
13
Ahora se están agregando 4 moscas, cada una de ellas con una velocidad aleatoria máxima, una dirección
inicial y un punto de partida distinto. Todas ellas con solo 4 líneas de código en el constructor BeeWorld.
14
Escribir líneas de código que presiente que se han escrito anteriormente suele ser el detonante de la
abstracción.
15
16
Creamos 10 moscas, cada una con una dirección y posición aleatorias en la pantalla.
Esto se realiza mediante un bucle for. El bucle for ejecutará el código entre paréntesis un número
determinado de veces. En este ejemplo hay 10 bucles. Nos centraremos en los bucles a medida que avance
el curso.
Podríamos aumentar la velocidad máxima de las moscas, ya que el juego hace que sea cada vez más difícil
atraparlas.
17
Si va a contar con actores que comparten funcionalidades, es mejor crear una subclase de actor, agregar la
funcionalidad y, a continuación, crear una subclase de esa clase. Recuerde que la clase Movement puede
contener varias subclases.
18
private static final int SPEED= 4
Crea una clase constante que podemos utilizar en nuestro código. Su ventaja es que se hace que nuestro
código más legible al utilizarlo y también nos permite cambiar un valor para aumentar la velocidad de todos
los actores que la usan.
19
setLocation() mueve un actor sin tener que cambiar su giro. En algunos casos, es mejor que move() y
rotate(). En el ejemplo, deseamos que un bebé se mueva por la pantalla. No queremos que gire, sino que
esté siempre erguido, pero que se siga moviendo por la pantalla en distintas direcciones.
20
Si el bebé se movió en una dirección tras estar en contacto con otro actor, también podríamos llamar a este
método en esta ubicación.
if (leftBump()) {
moveLeft();
}
21
En algunos escenarios, no tendrá que preocuparse por las acciones que se producen lejos de los actores
principales, pero en otros juegos tendrá que supervisarlos constantemente.
22
En algunos escenarios, no tendrá que preocuparse por las acciones que se producen lejos de los actores
principales, pero en otros juegos tendrá que supervisarlos constantemente.
23
Tenga en cuenta que hemos mantenido la puntuación de propiedad en privado, de modo que ningún actor
ajeno a BeeWorld tenga acceso directo a la misma. Deben utilizar los métodos públicos getScore() y
updateScore().
24
Conversión es un término con el que le va a resultar muy familiar durante este curso.
25
No podemos convertir todo lo que deseemos para que sea algo diferente. Debe existir una relación como
entre World y BeeWorld o Actor y Bee. No podríamos convertir World en Actor, por ejemplo.
26
Debe tener en cuenta que esto es muy similar a nuestro último ejemplo. Creamos un campo de clase
privada para almacenar el tipo de datos a los que deseamos acceder. A continuación, creamos un método
público para devolver este valor.
27
BeeWorld myworld = (BeeWorld)getWorld();
Esta línea obtiene una referencia al mundo actual y la almacena en la variable myworld. Puesto que el tipo
de retorno de getWorld es World, tenemos que convertirlo en un tipo BeeWorld.
Bee bee = myworld.getBee();
Estas líneas crean una variable bee que hará referencia a la abeja que devuelve nuestro método getBee();
Una vez que tenemos esta referencia, podemos utilizar la abeja que se ha devuelto para acceder a métodos
de la instancia Bee.
Usamos los métodos getX() y getY() de la instancia Bee en el método de actor turnTowards. Esto significa
que la araña siempre girará para estar frente a la instancia Bee en el mundo.
28
29
30
Greenfoot 9

Más contenido relacionado

La actualidad más candente

Greenfoot 2
Greenfoot 2Greenfoot 2
Greenfoot 2
Elian Maya
 
Alice 5
Alice 5Alice 5
Alice 5
Elian Maya
 
Greenfoot 2
Greenfoot 2Greenfoot 2
Greenfoot 2
Christian Medina
 
Greenfoot 7
Greenfoot 7Greenfoot 7
Greenfoot 7
Elian Maya
 
Greenfoot 3
Greenfoot 3Greenfoot 3
Greenfoot 3
Christian Medina
 
Alice 11
Alice 11Alice 11
Alice 11
Elian Maya
 
Alice 13
Alice 13Alice 13
Alice 13
Elian Maya
 
Greenfoot 3
Greenfoot 3Greenfoot 3
Greenfoot 3
Elian Maya
 
Alice 7
Alice 7Alice 7
Alice 7
Elian Maya
 
Alice 3
Alice 3Alice 3
Greenfoot 8
Greenfoot 8Greenfoot 8
Greenfoot 8
Christian Medina
 
Greenfoot 1
Greenfoot 1Greenfoot 1
Greenfoot 1
Elian Maya
 
PRACTICA 11 ALICE
PRACTICA 11 ALICEPRACTICA 11 ALICE
PRACTICA 11 ALICE
estefania loredo cortes
 
Greenfoot 8
Greenfoot 8Greenfoot 8
Greenfoot 8
Elian Maya
 
Alice 4
Alice 4Alice 4
Alice 6
Alice 6Alice 6
Alice 6
Elian Maya
 
Greenfoot 1
Greenfoot 1Greenfoot 1
Greenfoot 1
Christian Medina
 
PRACTICA 6 ALICE
PRACTICA 6 ALICEPRACTICA 6 ALICE
PRACTICA 6 ALICE
estefania loredo cortes
 
Greenfoot 7
Greenfoot 7Greenfoot 7
Greenfoot 7
Christian Medina
 
Alice 8
Alice 8Alice 8
Alice 8
Elian Maya
 

La actualidad más candente (20)

Greenfoot 2
Greenfoot 2Greenfoot 2
Greenfoot 2
 
Alice 5
Alice 5Alice 5
Alice 5
 
Greenfoot 2
Greenfoot 2Greenfoot 2
Greenfoot 2
 
Greenfoot 7
Greenfoot 7Greenfoot 7
Greenfoot 7
 
Greenfoot 3
Greenfoot 3Greenfoot 3
Greenfoot 3
 
Alice 11
Alice 11Alice 11
Alice 11
 
Alice 13
Alice 13Alice 13
Alice 13
 
Greenfoot 3
Greenfoot 3Greenfoot 3
Greenfoot 3
 
Alice 7
Alice 7Alice 7
Alice 7
 
Alice 3
Alice 3Alice 3
Alice 3
 
Greenfoot 8
Greenfoot 8Greenfoot 8
Greenfoot 8
 
Greenfoot 1
Greenfoot 1Greenfoot 1
Greenfoot 1
 
PRACTICA 11 ALICE
PRACTICA 11 ALICEPRACTICA 11 ALICE
PRACTICA 11 ALICE
 
Greenfoot 8
Greenfoot 8Greenfoot 8
Greenfoot 8
 
Alice 4
Alice 4Alice 4
Alice 4
 
Alice 6
Alice 6Alice 6
Alice 6
 
Greenfoot 1
Greenfoot 1Greenfoot 1
Greenfoot 1
 
PRACTICA 6 ALICE
PRACTICA 6 ALICEPRACTICA 6 ALICE
PRACTICA 6 ALICE
 
Greenfoot 7
Greenfoot 7Greenfoot 7
Greenfoot 7
 
Alice 8
Alice 8Alice 8
Alice 8
 

Similar a Greenfoot 9

leccion 6
leccion 6leccion 6
leccion 6
heidiromero11
 
Capitulo 6 greenfoot
Capitulo 6 greenfootCapitulo 6 greenfoot
Capitulo 6 greenfoot
Aquino1912
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
MaryferGaitan
 
CAPITULO 6 GREENFOOT
CAPITULO 6 GREENFOOTCAPITULO 6 GREENFOOT
CAPITULO 6 GREENFOOT
KatherinBarrios17
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
RodriguezNunezIvan
 
Jf 3 6_sg_esp(3) 6
Jf 3 6_sg_esp(3) 6Jf 3 6_sg_esp(3) 6
Jf 3 6_sg_esp(3) 6
dani t
 
Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)
ArmandoC42
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
ramosmendezshura
 
Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)
Laura Cortez
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
MartinCetis109
 
CAPITULO 6 DE GREENFOOT
CAPITULO 6 DE GREENFOOTCAPITULO 6 DE GREENFOOT
CAPITULO 6 DE GREENFOOT
ManuelHernandez480
 
Pra6
Pra6Pra6
Capitulo 5 greenfoot
Capitulo 5 greenfootCapitulo 5 greenfoot
Capitulo 5 greenfoot
Aquino1912
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
MartinCetis109
 
leccion 5
leccion  5leccion  5
leccion 5
heidiromero11
 
Jf 3 5_sg_esp(2)(3)
Jf 3 5_sg_esp(2)(3)Jf 3 5_sg_esp(2)(3)
Jf 3 5_sg_esp(2)(3)
ArmandoC42
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
RodriguezNunezIvan
 

Similar a Greenfoot 9 (20)

leccion 6
leccion 6leccion 6
leccion 6
 
Capitulo 6 greenfoot
Capitulo 6 greenfootCapitulo 6 greenfoot
Capitulo 6 greenfoot
 
Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 
CAPITULO 6 GREENFOOT
CAPITULO 6 GREENFOOTCAPITULO 6 GREENFOOT
CAPITULO 6 GREENFOOT
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
Jf 3 6_sg_esp(3) 6
Jf 3 6_sg_esp(3) 6Jf 3 6_sg_esp(3) 6
Jf 3 6_sg_esp(3) 6
 
Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 
Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
CAPITULO 6 DE GREENFOOT
CAPITULO 6 DE GREENFOOTCAPITULO 6 DE GREENFOOT
CAPITULO 6 DE GREENFOOT
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
Pra6
Pra6Pra6
Pra6
 
Capitulo 5 greenfoot
Capitulo 5 greenfootCapitulo 5 greenfoot
Capitulo 5 greenfoot
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
leccion 5
leccion  5leccion  5
leccion 5
 
Jf 3 5_sg_esp(2)(3)
Jf 3 5_sg_esp(2)(3)Jf 3 5_sg_esp(2)(3)
Jf 3 5_sg_esp(2)(3)
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 

Más de Christian Medina

Uniforme
UniformeUniforme
Presentación
PresentaciónPresentación
Presentación
Christian Medina
 
Logo y poster
Logo y posterLogo y poster
Logo y poster
Christian Medina
 
Invitacion
InvitacionInvitacion
Invitacion
Christian Medina
 
Graficas
GraficasGraficas
Engargolado
EngargoladoEngargolado
Engargolado
Christian Medina
 
Encuesta
EncuestaEncuesta
Conferencia
ConferenciaConferencia
Conferencia
Christian Medina
 
Campaña
CampañaCampaña
Tabla 4
Tabla 4Tabla 4
Tabla 14
Tabla 14Tabla 14
Tabla 11
Tabla 11Tabla 11
Tabla 13
Tabla 13Tabla 13
Tabla 12
Tabla 12Tabla 12
Tabla 10
Tabla 10Tabla 10
Tabla 9
Tabla 9Tabla 9
Tabla 8
Tabla 8Tabla 8
Tabla 7
Tabla 7Tabla 7
Tabla 3
Tabla 3Tabla 3
Tabla 6
Tabla 6Tabla 6

Más de Christian Medina (20)

Uniforme
UniformeUniforme
Uniforme
 
Presentación
PresentaciónPresentación
Presentación
 
Logo y poster
Logo y posterLogo y poster
Logo y poster
 
Invitacion
InvitacionInvitacion
Invitacion
 
Graficas
GraficasGraficas
Graficas
 
Engargolado
EngargoladoEngargolado
Engargolado
 
Encuesta
EncuestaEncuesta
Encuesta
 
Conferencia
ConferenciaConferencia
Conferencia
 
Campaña
CampañaCampaña
Campaña
 
Tabla 4
Tabla 4Tabla 4
Tabla 4
 
Tabla 14
Tabla 14Tabla 14
Tabla 14
 
Tabla 11
Tabla 11Tabla 11
Tabla 11
 
Tabla 13
Tabla 13Tabla 13
Tabla 13
 
Tabla 12
Tabla 12Tabla 12
Tabla 12
 
Tabla 10
Tabla 10Tabla 10
Tabla 10
 
Tabla 9
Tabla 9Tabla 9
Tabla 9
 
Tabla 8
Tabla 8Tabla 8
Tabla 8
 
Tabla 7
Tabla 7Tabla 7
Tabla 7
 
Tabla 3
Tabla 3Tabla 3
Tabla 3
 
Tabla 6
Tabla 6Tabla 6
Tabla 6
 

Último

Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
jheisonraulmedinafer
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docxENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
SandraPiza2
 

Último (20)

Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docxENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
 

Greenfoot 9

  • 1.
  • 2.
  • 3. 3
  • 4. La abstracción se puede definir de varias formas. Nos centraremos en la idea de alejarnos de una función específica para adoptar una más general. Piense en abstracción como el proceso de pasar de una tarea más específica a una tarea más general. Por lo tanto, en lugar de llamar a un constructor que siempre realice las mismas tareas, podríamos transferir valores que nos permitieran cambiar la configuración inicial. 4
  • 5. Ya hemos comenzado a realizar la abstracción mediante la creación de nuestros propios métodos y constructores. 5
  • 6. Cuando escriba código fuente y compruebe que algo que está escribiendo es muy parecido a otro código que ha escrito, debe comprobar si puede abstraer su finalidad a otro método. A continuación, llámelo desde las ubicaciones correctas. A continuación, producirá código que es más fácil de mantener. 6
  • 7. Podríamos haber escrito Fly fly1 = new Fly(); fly1.setSpeed(4); // un método definido fly1.setRotation(90); Tendríamos que repetir el código anterior para cada mosca. Al abstraer su propósito al constructor, reduce en gran medida la repetición. 7
  • 8. El equipo de programación de Greenfoot ha creado métodos para que la tarea de desarrollo le resulte más sencilla. Puede abstraerlo aún más para que sea más potente. 8
  • 9. Modificará con frecuencia constructores para que pueda transferirles la información inicial. 9
  • 10. public void increaseScore(int value) { score = score + value; } Podríamos llamarlo desde un área como increaseScore(5) y desde otra área como increaseScore(10). 10
  • 11. Sumamos 1 a la velocidad porque getRandomNumber() puede devolver un 0. Una mosca con una velocidad de cero es muy fácil de atrapar. 11
  • 12. Si desea cambiar la velocidad, el giro, etc. durante un juego, debe crear una variable de clase para almacenar el valor actual. 12
  • 13. De este modo, se agregará una mosca en las coordenadas (150,150) con una velocidad máxima aleatoria de 2 a partir de una dirección de 90 grados. 13
  • 14. Ahora se están agregando 4 moscas, cada una de ellas con una velocidad aleatoria máxima, una dirección inicial y un punto de partida distinto. Todas ellas con solo 4 líneas de código en el constructor BeeWorld. 14
  • 15. Escribir líneas de código que presiente que se han escrito anteriormente suele ser el detonante de la abstracción. 15
  • 16. 16
  • 17. Creamos 10 moscas, cada una con una dirección y posición aleatorias en la pantalla. Esto se realiza mediante un bucle for. El bucle for ejecutará el código entre paréntesis un número determinado de veces. En este ejemplo hay 10 bucles. Nos centraremos en los bucles a medida que avance el curso. Podríamos aumentar la velocidad máxima de las moscas, ya que el juego hace que sea cada vez más difícil atraparlas. 17
  • 18. Si va a contar con actores que comparten funcionalidades, es mejor crear una subclase de actor, agregar la funcionalidad y, a continuación, crear una subclase de esa clase. Recuerde que la clase Movement puede contener varias subclases. 18
  • 19. private static final int SPEED= 4 Crea una clase constante que podemos utilizar en nuestro código. Su ventaja es que se hace que nuestro código más legible al utilizarlo y también nos permite cambiar un valor para aumentar la velocidad de todos los actores que la usan. 19
  • 20. setLocation() mueve un actor sin tener que cambiar su giro. En algunos casos, es mejor que move() y rotate(). En el ejemplo, deseamos que un bebé se mueva por la pantalla. No queremos que gire, sino que esté siempre erguido, pero que se siga moviendo por la pantalla en distintas direcciones. 20
  • 21. Si el bebé se movió en una dirección tras estar en contacto con otro actor, también podríamos llamar a este método en esta ubicación. if (leftBump()) { moveLeft(); } 21
  • 22. En algunos escenarios, no tendrá que preocuparse por las acciones que se producen lejos de los actores principales, pero en otros juegos tendrá que supervisarlos constantemente. 22
  • 23. En algunos escenarios, no tendrá que preocuparse por las acciones que se producen lejos de los actores principales, pero en otros juegos tendrá que supervisarlos constantemente. 23
  • 24. Tenga en cuenta que hemos mantenido la puntuación de propiedad en privado, de modo que ningún actor ajeno a BeeWorld tenga acceso directo a la misma. Deben utilizar los métodos públicos getScore() y updateScore(). 24
  • 25. Conversión es un término con el que le va a resultar muy familiar durante este curso. 25
  • 26. No podemos convertir todo lo que deseemos para que sea algo diferente. Debe existir una relación como entre World y BeeWorld o Actor y Bee. No podríamos convertir World en Actor, por ejemplo. 26
  • 27. Debe tener en cuenta que esto es muy similar a nuestro último ejemplo. Creamos un campo de clase privada para almacenar el tipo de datos a los que deseamos acceder. A continuación, creamos un método público para devolver este valor. 27
  • 28. BeeWorld myworld = (BeeWorld)getWorld(); Esta línea obtiene una referencia al mundo actual y la almacena en la variable myworld. Puesto que el tipo de retorno de getWorld es World, tenemos que convertirlo en un tipo BeeWorld. Bee bee = myworld.getBee(); Estas líneas crean una variable bee que hará referencia a la abeja que devuelve nuestro método getBee(); Una vez que tenemos esta referencia, podemos utilizar la abeja que se ha devuelto para acceder a métodos de la instancia Bee. Usamos los métodos getX() y getY() de la instancia Bee en el método de actor turnTowards. Esto significa que la araña siempre girará para estar frente a la instancia Bee en el mundo. 28
  • 29. 29
  • 30. 30