Está en la página 1de 35

1

Java Fundamentals
3-3
Código fuente y documentación

Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados.

2
Objetivos
• En esta lección se abordan los siguientes objetivos:
−Demostrar los cambios del código fuente para invocar
métodos mediante programación
−Demostrar los cambios del código fuente para escribir una
sentencia de decisión if
−Describir un método para mostrar la orientación del objeto

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 3

3
Código Fuente
• El código fuente es un plano o mapa que define el
funcionamiento de sus objetos y del programa
• Ordena los objetos que se muevan e interactúan en su
escenario

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 4

Después de la colocación inicial de los actores, pasará la mayor parte del tiempo trabajando
con el código fuente.

4
Editor de códigos
• El código fuente se administra en el editor de códigos
• Para ver el editor de códigos, haga clic con el botón
derecho en cualquier clase del entorno y, a
continuación, seleccione Open editor en el menú

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 5

También puede hacer doble clic en la clase y se abrirá el editor de códigos en una nueva
ventana.

5
Funciones del editor de códigos
• En el editor de códigos, puede:
−Escribir el código fuente para programar instancias de la clase
para que actúen
−Modificar el código fuente para cambiar el comportamiento
de una instancia
−Revisar las propiedades y los métodos heredados de la clase
−Revisar los métodos creados específicamente para la clase
por el programador que ha escrito el código fuente

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 6

No se preocupe si por el momento le resulta muy complicado examinar el código. Muy pronto
le resultará más fácil.

6
Componentes del código fuente
1 Descripción de la clase

2 Método act()

3 Firma de método

4 Cuerpo del método

5 Comentarios

6 Documentación

7 Definición de clase

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 7

Todos ellos, excepto la descripción, los comentarios y la documentación son necesarios para
que funcione el programa. La descripción, los comentarios y la documentación facilitan a otros
usuarios y a usted mismo ver lo que está intentando conseguir el código. Nunca subestime estas
secciones y agradecerá la documentación proporcionada por el equipo de desarrollo de Greenfoot.
Debe acostumbrarse a comentar y documentar su propio código.

7
Descripción de la clase
• La descripción de clase es un juego de comentarios que
se pueden modificar para describir la clase
• Incluye:
−Una descripción de la función de la clase
−El nombre de la persona
que escribió el código
−La fecha en la que se
modificó el código fuente
por última vez

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 8

Anteriormente, examinamos la documentación generada automáticamente. El texto de estos


comentarios se utiliza para crear documentación más útil.

8
Componentes de la definición de clase
• La definición de clase incluye:
−Palabras reservadas y palabras clave de Java
−El nombre de la clase, tal y como la define el programador
−El nombre de la superclase desde la que se extiende la
subclase
Nombre de clase
(Bee)

Palabras clave Java o Palabras clave Java o Superclase


palabras reservadas palabras reservadas
(public, class). (extends)

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 9

Public indica a Java la accesibilidad que debe tener un objeto. Public es el menos restrictivo y
Privado el más restrictivo. Lo analizaremos con mayor profundidad más adelante.
Class indica a Java que estamos a punto de definir nuestra propia clase.
Extends indica a Java que deseamos basarlo en la clase ya definida denominada Actor. Esto
significa que estamos creando una subclase de Actor denominada Bee.

9
Ejemplo de definición de clase

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 10

Recuerde que es habitual nombrar a la clase empezando por un carácter en mayúscula. En el


ejemplo anterior, hemos usado Bee en lugar de bee.

10
Método act()
• El método act() es la parte de la definición de clase que
indica al objeto los métodos que se van a llevar a cabo
al hacer clic en los controles de ejecución Act o Run en
el entorno

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 11

El área resaltada en color rojo también incluye los comentarios. Estos comentarios también se
utilizan en la documentación generada automáticamente. Recuerde desde el principio que el
método act() se ejecuta en ciclo continuamente. Es decir, ejecuta el código y, a continuación, lo
vuelve a ejecutar una y otra vez.

11
Definición de clases
• La definición de clase define:
−Variables (o campos) que almacenan datos de forma
persistente dentro de una instancia
−Constructores que configuran inicialmente una instancia
−Métodos que proporcionan los comportamientos para una
instancia
• Utilice un formato consistente al definir una clase.
−Por ejemplo, defina las variables en primer lugar, los
constructores en
segundo lugar y
los métodos en
tercer lugar

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 12

Existen 3 variedades de métodos que analizaremos más adelante. Devuelven información de


los campos. Normalmente se trata del valor o de un determinado cálculo sobre el valor. O
definen el valor almacenado en los campos transfiriendo el valor o, de nuevo, mediante algún
cálculo. O bien, proporcionan determinadas funcionalidades.

12
Firma de método
• La firma del método describe la función del método
• La firma contiene un nombre de método y una lista de
parámetros

Nombre del método

Lista de Parámetros ()

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 13

Al igual que una clase, la definición del método también tiene accesibilidad. Estos son los
mismos valores que se utilizan para definir la accesibilidad de la clase, siendo el valor Public el
más accesible.
El método act no devuelve ningún valor, por lo que el término void se utiliza para denotar esta
circunstancia. Si no se añade void o un tipo de retorno, java lo interpretará como un error de
sintaxis.

13
Comentarios
• Los comentarios describen la función del código fuente
−No afectan a la funcionalidad del programa
−Comienzan con una barra diagonal y dos asteriscos /** o,
simplemente, una barra diagonal doble
−Finalice los comentarios /** con */
−Escrito en fuente azul (en Greenfoot)

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 14

Java ignora los comentarios. Se utilizan para poder entender mejor el código y su significado.
Recuerde que posiblemente trabaje con código que ha escrito otra persona. Agradecerá si se
añaden comentarios.

14
Documentación
• La documentación describe las propiedades de la clase
• Para consultarla, seleccione Documentation en el
menú desplegable que hay en la parte superior
derecha del editor
de códigos

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 15

Tenga en cuenta que si cambia el nombre del autor, el número de versión o los comentarios
antes del acto, estos aparecen en la documentación.

15
Invocar métodos mediante programación
• Los métodos se deben invocar para ordenar a las
instancias que actúen en su partida
• Invoque métodos mediante programación
escribiéndolos en el cuerpo del método act() en el
espacio entre las llaves

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 16

Estos métodos se llamaran secuencialmente dentro del método act().

16
Componentes de la llamada al método
• Componentes de la llamada al método:
−Tipo de retorno
• Tipo de datos de valor de retorno
• Los tipos de retorno Void no requieren variables ni datos de retorno
−Nombre del método
−Lista de parámetros para indicar el tipo de argumentos que
invocar,
si son necesarios
−Punto y coma para marcar el final de la llamada al método

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 17

Si no está seguro de qué hace, devuelve o requiere un método, consulte la documentación de


su superclase.

17
Ejemplo 1 de invocación de métodos
• Cada método se escribe en el espacio entre las llaves

Nombre del método Parámetros

Punto y coma

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 18

Tenga en cuenta que el código que aparece después de las llaves está sangrado. Esta es una
buena práctica de codificación y permite que sea más legible.

18
Ejemplo 2 de invocación de métodos
• La primera llamada al método se escribe en el cuerpo
del método act() y finaliza con un punto y coma
• Cada llamada al método adicional se escribe
directamente debajo, hasta que se introducen todos
los métodos en el espacio entre las llaves

Parámetro - 3

El punto y coma marca el final


de la sentencia de programación

Nombre del método

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 19

Ya que estamos incluyéndolo en el método act(), lo llamarán secuencialmente de forma


continua.

19
Métodos que ordenan a objetos que realicen
acciones
Nombre del método Descripción
Asigna un número de pasos para mover al objeto o
void move(int distance) simplemente ordena que se mueva al hacer clic en
los botones Act o Run.

void turn(int amount) Asigna al objeto un número de grados de giro.

Proporciona al objeto la oportunidad de realizar


void act() una acción en el escenario. Las llamadas al método
se insertan en este método.

void setLocation(int x, int y) Asigna una nueva ubicación para este objeto.

void setRotation(int rotation) Define un nuevo giro para este objeto.

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 20

Se pueden probar todos los métodos mostrados haciendo clic con el botón derecho en una
instancia Actor y seleccionando el método. Si necesita valores para los parámetros, se
solicitarán

20
Formas de ver los métodos heredados
de una clase
• Consultar la documentación de la clase Greenfoot
−Abra Greenfoot
−Seleccione Help
−Seleccione Greenfoot Class
Documentation

• Ver la documentación de la biblioteca Java


−Abra Greenfoot
−Seleccione Help
−Seleccione Java Library Documentation

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 21

Los métodos heredados son los métodos que se han definido en la superclase o en un nivel
superior.

21
Tareas secuenciales
• Una sola tarea como, por ejemplo, ir a la escuela,
requiere la realización de varias subtareas:
−Despertarse
−Ducharse
−Cepillarse los dientes
−Vestirse

• Dentro de una subtarea puede haber más subtareas (ir


caminando a la escuela requiere que caminemos
utilizando la pierna izquierda y la pierna derecha para
avanzar, en orden)

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 22

Desglosar un problema en problemas más pequeños es una buena técnica para permitirnos
entender mejor un escenario. Esta misma técnica funciona bien en la programación, donde
desglosamos un problema en fragmentos cada vez más pequeños hasta que sentimos que
hemos logrado entender completamente ese problema más pequeño.

22
Métodos secuenciales
• Los métodos secuenciales son múltiples métodos que
ejecuta Greenfoot en el orden en el que se escriben en
el programa
• Estos métodos permiten que un objeto realice tareas
secuenciales como ejecutar y, a continuación, saltar o
reproducir un sonido cuando algo explota
• Los objetos se pueden programar para realizar
métodos secuenciales siempre que se haga clic en el
botón Act

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 23

El orden en el que se llevan a cabo las tareas puede ser importante en función de lo que
estamos tratando de lograr. Si tenemos 2 tareas:
Ponernos el calcetín izquierdo
Ponernos el calcetín derecho
El orden de estas tareas no va a cambiar el resultado general, es decir, ponernos ambos
calcetines.
Si tenemos las tareas:
Ponernos el calcetín izquierdo
Ponernos el zapato izquierdo
El orden de estas tareas es importante. A menos que deseemos llevar el calcetín encima del
zapato...

23
Relaciones if-then
• Muchas de las circunstancias que nos rodean tienen
una relación causa-efecto, o una relación "if-then"
• Si suena el teléfono móvil, lo normal es que
respondamos a la llamada. Si no suena el teléfono
móvil, no se puede responder a la llamada
• Si una flor comienza a marchitarse, se debe regar. Si la
flor tiene buen aspecto, no es necesario regarla

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 24

Es posible que haya visto sentencias IF antes en otros lenguajes o incluso con paquetes de
software como hojas de cálculo.

24
Sentencias de decisión if
• Se escribe una sentencia IF para indicar al programa
que ejecute un juego de sentencias de programación
solo si se cumple una determinada condición

if (condition)
{
instruction;
instruction;

}

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 25

La sentencia if puede controlar si se debe ejecutar o no un juego de instrucciones. Se puede


utilizar de forma óptima la sentencia if ya que permite al código reaccionar ante determinados
eventos en su escenario como, por ejemplo, 2 objetos que entran en conflicto, un usuario que
hace clic en una tecla o en un mouse y selecciona un actor. Estos son solo algunos ejemplos en
los que podemos decidir si se deben ejecutar determinadas secciones de código.

25
Componentes de la sentencia de decisión if
• La sentencia if contiene una condición, que es una
expresión true o false y una o más llamadas al método
que se ejecutan si se cumple la condición
Condición

Llamadas a métodos

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 26

La condición isKeyDown("left") prueba la tecla de flecha izquierda.


Si se agrega un valor de giro negativo para el parámetro que gira, significa que el actor realizará
el giro a la izquierda.

26
Ejemplo de la sentencia de decisión if
• En el siguiente ejemplo:
−Las teclas de flecha izquierda y derecha en el teclado hacen
que el objeto gire a la derecha y a la izquierda
−Si la condición es false, las llamadas al método definidas en la
sentencia IF no se ejecutan
−El método move se ejecuta independientemente de la
sentencia IF

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 27

Recuerde que el método act() ejecuta ciclos de forma continua. Así pues, los métodos se
llaman continuamente de forma secuencial y están entre paréntesis.

27
Método isKeyDown()
• El método isKeyDown() es un método Greenfoot
preexistente que escucha para determinar si se pulsa
una tecla del teclado durante la ejecución del
programa
• Se llama a este método en una clase mediante una
notación de puntos
Cuando un método no está en la clase o lo hereda la clase que va a
programar, especifique la clase u objeto que tiene el método antes del
nombre del método, después, un punto, y luego, el nombre del método.
Esta técnica se denomina notación de puntos.

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 28

El método isKeyDown() se suele utilizar para proporcionar al usuario el control de un actor a


través del teclado.

28
Orientación del objeto en el mundo real
• A medida que nos movemos por el mundo en el que
vivimos, es importante para nosotros conocer nuestra
orientación o el sentido de la dirección
−Al conducir un automóvil, siempre es necesario conocer si se
encuentra en el carril correcto de la carretera
−Cuando un avión se encuentra en pleno vuelo, necesita saber
cuál es su posición con respecto a otros aviones, de modo
que no se produzca ninguna colisión
−Al introducir su ubicación en un mapa del teléfono móvil,
recibirá las coordenadas que le indicarán el lugar en el que se
encuentra y la dirección

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 29

29
Mostrar la orientación de un objeto
• Los métodos pueden indicarnos cómo está posicionado
un objeto en el mundo, con respecto a sí mismo y a
otros objetos
• Puede invocar un método:
−Con un tipo de datos específico, como el booleano, para
formular una pregunta al objeto sobre su orientación
−En el entorno, para aprender cómo está orientado el objeto
en el escenario

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 30

La orientación de un objeto en el mundo y su comparación con otros objetos son los pilares
básicos del software que escribiremos en Greenfoot.

30
Métodos que devuelven información sobre la
orientación de un objeto

Nombre del método Descripción

int getRotation() Devuelve la rotación actual del objeto.

World getWorld() Regresa al mundo en el que se encuentra el objeto.

Devuelve la coordenada x de la ubicación actual del


int getX()
objeto.

Devuelve la coordenada y de la ubicación actual del


int getY()
objeto.

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 31

360 grados es un giro completo. Tenga cuidado, ya que 0 grados es el ángulo que apunta a la
derecha de la pantalla. Así pues, abajo es 90, izquierda es 180 y arriba es 270 grados.

31
Pasos para llamar a un método que muestra la
orientación de un objeto
1. Haga clic con el botón derecho en la instancia en el
mundo
2. Seleccione Inherited en Actor para ver sus métodos
3. Invoque (seleccione) un método con un tipo de
datos específico para formular al objeto una
pregunta sobre su orientación
4. Se mostrará el resultado del método
5. Anote el valor devuelto y, a continuación, haga clic
en Close

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 32

En Greenfoot, el tamaño de mundo por defecto es 600 horizontal (x) y 400 vertical (y).
Así pues, en un mundo de este tamaño, la parte superior izquierda es la posición (0,0) y la parte
inferior derecha es la posición (600,400 )

32
Terminología
• Términos clave que se han utilizado en esta lección:
−Descripción de la clase
−Comentarios
−Sentencias de decisión if
−Invocación de un método
−Análisis orientado a objetos
−Métodos secuenciales

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 33

33
Resumen
• En esta lección, debe haber aprendido a:
−Demostrar los cambios del código fuente para invocar
métodos mediante programación
−Demostrar los cambios del código fuente para escribir una
sentencia de decisión if
−Describir un método para mostrar la orientación del objeto

JF 3-3
Código fuente y documentación Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 34

34
35

También podría gustarte