Guia de Programacion Java
Guia de Programacion Java
5° SEMESTRE
Créditos
Coordinación
Subdirección de Capacitación para el Trabajo
Dirección de Planeación Académica
CONOCIMIENTOS PREVIOS 6
EVALUACIÓN DIAGNÓSTICA 7
CONTENIDO Y ACTIVIDADES 8
CONCEPTOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS 8
ENCAPSULACIÓN 8
CLASE DE INSTANCIA 12
HERENCIA 13
POLIMORFISMO 15
ACTIVIDAD NÚMERO 1 DE 4 | ENCAPSULAMIENTO 16
ACTIVIDAD NÚMERO 2 DE 4 | HERENCIA 17
ACTIVIDAD NÚMERO 3 DE 4 | POLIMORFISMO INCLUSIVO 18
ACTIVIDAD NÚMERO 4 DE 4 | POLIMORFISMO AD HOC 19
AUTOEVALUACIÓN 20
¿QUIERES CONOCER MÁS? 21
FUENTES CONSULTADAS 22
CONOCIMIENTOS PREVIOS 24
EVALUACIÓN DIAGNÓSTICA 25
CONTENIDO Y ACTIVIDADES 26
ESTRUCTURA DE CONTROL SECUENCIAL EN JAVA. 26
TOKENS 27
ESTRUCTURA DE CONTROL CONDICIONALES EN JAVA. 29
ESTRUCTURAS DE CONTROL REPETITIVAS EN JAVA. 32
ACTIVIDAD NÚMERO 1 DE 3 | NORMAS DE ESTRUCTURA Y SINTAXIS 36
ACTIVIDAD NÚMERO 2 DE 3 | ESTRUCTURA CONDICIONAL 37
ACTIVIDAD NÚMERO 3 DE 3 | ESTRUCTURA SECUENCIAL 38
AUTOEVALUACIÓN 39
¿QUIERES CONOCER MÁS? 40
FUENTES CONSULTADAS 41
CONOCIMIENTOS PREVIOS 43
EVALUACIÓN DIAGNÓSTICA 44
CONTENIDOS Y ACTIVIDADES 45
FASE DE PLANEACIÓN 45
FASE DE DISEÑO 47
2
FASE DE DESARROLLO 49
ACTIVIDAD NÚMERO 1 DE 3 | PLANIFICACIÓN DE UN PROYECTO SOFTWARE 51
ACTIVIDAD NÚMERO 2 DE 3 | DIAGRAMAS UML 52
ACTIVIDAD NÚMERO 3 DE 3 | DESARROLLO 53
AUTOEVALUACIÓN 65
INSTRUCCIONES 65
¿QUIERES CONOCER MÁS? 66
FUENTES CONSULTADAS 67
Ahí es en donde entra el Auxiliar de Programador del Colegio de Bachilleres, el cual debe
cumplir con las competencias profesionales requeridas, debido a esto, en esta asignatura
se abordan los temas apegados a los requerimientos de las empresas.
Es importante precisar que para esta asignatura requieres utilizar una computadora o un
teléfono inteligente o tableta (con sistema operativo Android 4.0 o superior, o iPhone versión
iOS 7 o superior).
4
Conocimiento de los fundamentos de programación en Java.
Propósito
Conocer los fundamentos de programación en Java
Lenguaje y comunicación
✓ Sintaxis.
✓ Verbos en el lenguaje inglés.
✓ Sintaxis de la comunicación en idioma inglés.
Matemáticas
✓ Variables.
✓ Constantes.
6
Evaluación diagnóstica
Relaciona los siguientes conceptos (que se encuentran en la columna izquierda) con sus
respectivas definiciones (que se encuentran en la columna derecha) según corresponda de
forma correcta.
CONCEPTO DEFINICIÓN
___ Es aquella ubicación en la memoria qué va
1. UML almacenando datos, También son conocidos como
apuntadores.
___ Son las reglas de cómo construir comandos e
2. VARIABLE instrucciones a una computadora, Al mismo tiempo es
una forma de comunicarse con la máquina.
___ Es el tipo de dato que va a contener una variable,
3. TIPO DE VARIABLE pudiendo ser textual, numérica calculable de forma
aritmética, o pudiendo hacer de verdaderos y falsos.
___ Es aquel lenguaje en el cual una persona escribe sus
4. LENGUAJE DE ALTO
instrucciones (de preferencia en inglés), el cual será
NIVEL
transformado en binario a través de un compilador.
___ es la representación gráfica de los contenidos de un
5. CONSTANTE sistema, el cual todo programador debe saber para poder
interpretarlo y pasarlo a un código de programación.
___ Es todo aquel valor que no cambia, y que impide que
6. SINTAXIS
el usuario lo modifique.
___ Es aquel lenguaje universal, representado por
7. DIAGRAMA diagramas y qué es utilizado en cualquier parte del
mundo, Funciona para diseñar sistemas
8
Forma de construir encapsulado de una clase
Lo primero que tienes que hacer, es identificar un objeto para convertirlo en una clase.
Elementos de un objeto
Entidad: ¿Quiénes? Generalizar en plural a un ente en un campo semántico.
Atributos: ¿Qué lo define? Componentes que definen a un ente.
Operaciones: Describir el “¿Qué hace?” y “¿Como lo hace?”
Ejemplo:
Entidad: ¿Quiénes? Gatos (se escribe en Plural).
Atributos: ¿Qué lo define? color, tamaño, peso, raza, genero (se escribe en singular).
Operaciones: “¿Qué hace?” y “¿Como lo hace?” Dormir, Comer, Jugar (se escribe en
infinitivo, es decir con terminaciones en verbo).
Relevancia: Para resolver un problema, hay que obtener las características importantes.
El segundo paso que tenemos que hacer es generar los atributos con un acceso de tipo
privado (private), después el tipo de variable y luego el nombre de nuestra variable que en
este caso es el atributo.
10
Resultado final
Se agregan los procesos de ocultación y transmisión de datos que son los “setters” y los
“getters”
Nombre de la clase
Gatos el nombre de la
clase, es el mismo que
el nombre del objeto
(en plural).
Proceso de
Ocultamiento
Setters y Getters, son
los procesos que no
permiten que se
obtenga la información
con facilidad.
Atributos
¿Qué lo
define?,
¿Qué lo
identifica?
Operaciones
¿Qué hace?,
¿Cómo lo
hace?
En este caso en lugar de “varInstancia”, tú lo puedes poner el nombre que quieras, y esto
se debe de hacer desde el método main qué es el que controla y permite ejecutar nuestro
programa.
Al poner tu
variable de
instancia,
puedes llamar
sus funciones,
en este caso,
se llama a
Cazar ()
12
Herencia
En informática herencia es la capacidad de traer los datos de una clase a otra, Su principal
ventaja es ahorrar código para no tener que estarlo repitiendo innecesariamente, y para
tener mayor eficiencia en el consumo de procesamiento de una máquina.
Para evitar este tipo de repeticiones, y hacer un código más limpio y eficiente, debemos
de crear una variable de instancia que invoque clases que son herederas o relacionadas
entre sí.
Asimismo, tenemos que ocupar el uso de la palabra “extends”, en la clase para heredar
las actividades y sus atributos.
14
Polimorfismo
Definición de polimorfismo
Es el proceso de transformar un objeto de tal forma tenga múltiples formas.
Subtipo o Inclusivo
Es aquel objeto abstracto qué puede referenciar mediante una variable de instancia a una
o varias cadenas de clases relacionadas.
Ad Hoc
Es todo aquel objeto qué tiene múltiples funciones con diferentes argumentos, también se
le conoce con el nombre de sobrecarga de funciones con el mismo nombre.
Otros tipos
Existen otros diferentes tipos de polimorfismo cómo paramétrico, Fila, estática, Dinámica,
Duck Typing, Polipismo (Polytypism o Programación genérica).
Parámetros:
La clase encapsulada deberá incluir las siguientes características:
16
Actividad número 2 de 4 | Herencia
Realiza un proyecto de Java con una clase padre llamada “animales” y dos subclases
llamadas “Mamíferos” y “Peces”., Cada una llevará 3 atributos y una operación, Así como
una clase main que invoque las operaciones mediante la utilización de una variable de
instancia.
Parámetros
Las clases deberán incluir las siguientes características:
Y la clase Main deberá Incorporar dos nuevas variables de instancia, las cuales se
conviertan en otras clases.
18
Actividad número 4 de 4 | Polimorfismo Ad Hoc
Crea un proyecto de Java, el cual contenga una clase que se llame “CalculosAritmeticos”
y genera una sobrecarga de 4 diferentes tipos de argumentos, y una clase “Main”, la cual
permite ejecutar los 4 diferentes tipos de función de sobrecarga.
Parámetros
La clase cálculos aritméticos deberá contar con los diferentes tipos de argumentos que
incluyan números enteros y decimales.
Y la clase Main deberá contar con una variable de instancia, la cual permita ejecutar la
acción de sumar con los diferentes tipos de argumentos que incluyan números enteros y
decimales.
crear el encapsulamiento de
un objeto
crear el código del
polimorfismo de una
instancia
crear el código de la
sobrecarga de una función
definir la herencia de un
objeto
20
Practicando con los códigos W3 School para programación en Java (requiere conexión a
internet de forma constante). W3 Schools. (2020).
Java Tutorial de W3 Sitio web: https://www.w3schools.com/java
Universidad informática. (2020). Guía de sintaxis del lenguaje Java 2. 08/09/2020, de MHE
Sitio web: https://bit.ly/3cu382a
22
Elaboración de programas en Java
Propósito
Elaborar programas en Java
Lenguaje y comunicación
✓ Sintaxis.
✓ Verbos en idioma inglés.
✓ Sintaxis de la comunicación en idioma inglés
Matemáticas
✓ Variables.
✓ Constantes
✓ Aritmética (suma, resta, multiplicación y División).
Filosofía
✓ Tablas de verdad (Condicionales “Y”, “O”).
✓ Lógica proposicional
✓ Lógica procedimental
24
Evaluación diagnóstica del corte número 2
Dependiendo del símbolo define el nombre del símbolo del diagrama de flujo y comenta
cuál es su interpretación o función.
la clase, en sí es el archivo contenedor de todo el código y que lleva un nombre para una
mejor ubicación.
La clase main es aquella función que controla el programa, es necesario para que nuestro
programa se ejecute correctamente.
26
Tokens
Definición de Token
Son todos aquellos elementos textuales que forman parte del léxico (vocabulario) de los
lenguajes de programación, en este caso, Java.
También conocido como código duro, es incrustar datos directamente en el código, no han
sido procesados, ni contenidos en alguna variable, ni de alguna fuente externa como una
base de datos, o archivos.
Operators – Operadores
Los operadores tienen la función de hacer cálculos aritméticos (suma, resta, multiplicación,
división), hacer alguna comparación lógica cuyo resultado arroje un verdadero o un falso
(igual que, menor que, mayor que o diferente que), Y en otros casos validaciones mediante
condiciones que arrojan un resultado verdadero o falso (como la utilización de las aulas de
verdad “y” así como “o”).
P.ej. if (A > B) { };
Separators – Separadores
El objetivo de los separadores es realizar algún tipo de Unión mediante la utilización de
puntos para determinar un método
P.ej System.out.print
P. ej case:
P. ej. If (A = B) {
System.out.print (“mensaje”) ;
}
28
Estructura de control condicionales en Java.
La estructura de control por condicionales en lenguaje programación en Java, no es más
que una simple pregunta “¿Sí?”, que lo único que hará es comprobar el cumplimiento de
una condición (o múltiples condiciones) que ponga el programador.
Sintaxis
Se imprime el resultado
según la condición
Se cumple la
condición
Se imprime el resultado
según la condición
30
Se cumple la
condición else if
Se imprime el resultado
según la condición
Preguntar si
Relacional
Es igual que ==
Es menor que <
Es mayor que >
Es diferente que !=
Condicional
Si ambos valores coinciden (Y) && (shift + “6”)
Si uno u otro valor coinciden (O) || (La tecla a la izquierda del “1”)
Ejemplos:
if ( a < b) { }
if ( a == b && c == d) { }
Una de las malas prácticas de la programación, es realizar conteos con literales (poner
código sin procesar), si un cliente nos llegase a solicitar un conteo del 1 al 12, y lo hacemos
sin procesar, podemos cometer el error de generar mucho código y mucha pérdida de
tiempo como se puede ver en la imagen siguiente:
Como pudimos ver en la imagen, pusimos doce líneas de código, y perdimos bastante
tiempo, existe una forma de hacerlo sin tener que recurrir a tantas líneas de instrucción.
Ciclos de iteración.
Tienen como objetivo ejecutar las mismas instrucciones en un número de veces
determinado, la condición esencial es que tiene que ser finito (básicamente para no saturar
la memoria de nuestra computadora).
32
Sintaxis de las estructuras: For, while, do while.
FOR
La estructura básica para el ciclo iterativo “for” o “para” es el siguiente:
Ejemplo:
Ejemplo:
34
DO WHILE
La estructura básica para el ciclo iterativo “do while” o “Haz Mientras” es el siguiente:
Ejemplo:
Parámetros:
El proyecto deberá incluir los siguientes elementos:
✓ 1 Keyword
✓ 1 Identifier
✓ 1 Literal
✓ 1 Operator
✓ 2 Separator
36
Actividad número 2 de 3 | Estructura Condicional
Crea un proyecto de programación en Java, el cual permita hacer validaciones con if ( ),
else if ( ), y con la instrucción else
Parámetros:
Parámetros:
38
Fernando Berzal. (Sin año). Introducción a la Programación - A Elementos léxicos del
Lenguaje de programación en C. 23/09/2020, de elvex.ugr.es Sitio web:
https://bit.ly/3iWGwtm
Alex Walton. (2020). Bucles en Java: for, while, do while Con Ejemplos. 23/09/2020, de
Java desde cero Sitio web: https://bit.ly/3iYRbDR
Alex Rodríguez. (Sin año). While y do while en Java (ciclos o bucles). Ejemplo break: salir
de un bucle. Ejercicios resueltos (CU00659B). 23/09/2020, de Aprende a programar Sitio
web: https://bit.ly/32X7TOn
Practicando con los códigos W3 School para programación en Java (requiere conexión a
internet de forma constante) W3 Schools. (2020).
Java Tutorial de W3 Sitio web: https://bit.ly/2RVnNCy
Alex Walton. (2020). Bucles en Java: for, while, do while Con Ejemplos. 23/09/2020, de
Java desde cero Sitio web: https://bit.ly/3iYRbDR
Alex Rodríguez. (Sin año). While y do while en Java (ciclos o bucles). Ejemplo break: salir
de un bucle. Ejercicios resueltos (CU00659B). 23/09/2020, de Aprende a programar Sitio
web: https://bit.ly/32X7TOn
40
Instrucciones
¿Cuál consideras que es tu nivel de dominio en el trabajo como programador en JAVA, en
este segundo corte?
42
Para que puedas lograr los aprendizajes esperados con el corte de evaluación 3, es
necesario que refuerces los siguientes conocimientos:
Lenguaje y comunicación
✓ Lectura.
✓ Redacción.
✓ Comprensión.
✓ Verbos en idioma inglés.
✓ Sintaxis de la comunicación en idioma inglés.
Matemáticas
✓ Interpretación del lenguaje algebraico.
✓ Variables
✓ Constantes
✓ Literales
✓ Aritmética (suma, resta, multiplicación y División).
Filosofía
✓ Tablas de verdad (Condicionales “Y”, “O”).
✓ Lógica proposicional.
✓ Lógica procedimental.
44
Introducción.
En la actualidad, las grandes empresas que se dedican a desarrollar aplicaciones
informáticas tienen un esquema de trabajo utilizado a nivel nacional e internacional, el cual
busca la satisfacción y trata de cumplir con los requerimientos de los clientes (calidad). Este
mismo modelo normalmente lo conocerás como “ingeniería del software”, y es el que
aprenderás a manejar.
Fase de planeación.
La forma de esquema de desarrollo a partir de la planeación es muy importante, ya que
tienes que considerar varios aspectos fundamentales a la hora de desarrollar un producto
software (también llamado aplicación o programa informático).
Lo que tienes que hacer es prever, situaciones y elementos importantes como los alcances
económicos, los tiempos de desarrollo, Las personas con las que vas a trabajar
(considerando sus perfiles, habilidades y competencias profesionales).
Para esto mismo tienes que aprender a desarrollar un mecanismo denominado “Diagrama
de Gantt”, el cual te permite ver todos estos elementos, y te permite ver los pros y los
contras del desarrollo de tu aplicación o sistema informático.
Diagrama de Gantt
Crear tareas con las fases de la “Ingeniería del Software” (el cual está basado en las fases
del proceso administrativo aplicado a la programación).
Fase mecánica
✓ Planificación
✓ Organización
Fase dinámica
✓ Dirección
✓ Control
Descomposición.
Cuando tengas un problema muy grande, a la hora de desarrollar un sistema informático,
lo primero que tienes que hacer es segmentar el problema en partes pequeñas, a esto se
le llama descomposición. Y eso te permite, resolver los problemas paso a paso, y en menos
tiempo. Coloquialmente se le dice “Segmenta el problema en cachitos (partes pequeñas).
Hito
Meta
Vamos a utilizar una aplicación qué encontrarás de forma gratuita en internet la cual se
llama “Planner” https://wiki.gnome.org/Apps/Planner
Organización
Esta aplicación te permite ver toda la organización total de tu proyecto, en este caso vas a
disponer de varios elementos los cuales vamos a numerar.
3
1
4
2
46
Fase de diseño.
Modelado de datos
Toma de requerimientos.
Superficialmente hablaremos, de que una de las tareas que debe realizar uno de los
miembros del equipo, es la de entrevistar al cliente (puede ser ésta una empresa o un
representante legal), el cual tiene que brindar los detalles técnicos y procedimentales para
que nuestro sistema sea perfectamente funcional y resuelva todo el problema. esto se logra
a partir de una entrevista con el cliente, en el cual preguntamos las necesidades de la
empresa, de los operadores, de los usuarios y de los administrativos.
Imagen 25. Ejemplos del diagrama de casos de uso, en el cual se utiliza un actor, y
un caso que infiere directamente en los procesos de trabajo
Imagen 26. Ejemplos del diagrama de flujo, en el cual se leen los datos y se procesa
una actividad
Cómo podemos ver en la imagen, se pueden notar los factores y elementos que involucran
el proceso de acción, para modular un problema o múltiples problemas. Esto nos ayudará
a resolver el problema de forma más fácil.
Una vez completado el trabajo del analista de sistemas, que no es más que el de hacer
los diagramas de abstracción, ahora tiene que definir otros diagramas, los cuales son una
antesala al proceso de desarrollo de la programación orientada a objetos.
48
Imagen 28. Ejemplo de un diagrama entidad relación, en el cual las entidades van en
plural, los atributos se nombran en singular y el tipo de dato que nos va a contener.
Fase de desarrollo.
Una vez hecha la observación y el análisis de los requerimientos del cliente mediante la
instrumentación diagramas, ahora viene la parte del desarrollo del sistema.
Modelado de la aplicación
Para lograr la conexión de una aplicación a una base de datos, no importando el lenguaje
de programación, primero se crea el diagrama de flujo de la columna vertebral de la
aplicación, para hacerlo es necesario que reconozcas los 3 procesos básicos de todo
programa:
2.Proceso
3.Resultado
1.Petición
Conector - Diagrama anterior
*Actua como subproceso
2.Proceso
3.Resultado
50
Actividad número 1 de 3 | Planificación de un proyecto software
Realiza un diagrama de Gantt, lo puedes elaborar a mano o con el programa “Planner”
https://wiki.gnome.org/Apps/Planner
Parámetros:
El diagrama de Gantt deberá incluir los siguientes elementos:
✓ 3 tareas
✓ 3 subtareas por cada tarea
✓ 3 personas que funjan como recursos humanos
✓ una calendarización
✓ una temporización por cada tarea
Parámetros:
El diagrama de UML deberá incluir los siguientes elementos:
✓ 1 diagrama de clases que tenga 2 clases.
✓ 1 diagrama de casos de uso, que tenga un caso de uso.
✓ 1 diagrama de despliegue, que contenga dos nodos, un componente por cada nodo.
✓ 1 diagrama entidad relación.
✓ 1 diagrama de flujo el cual contenga una lectura de datos y un proceso.
52
Actividad número 3 de 3 | Desarrollo
Instrucciones: Debes realizar un proyecto de programación en Java, el cual deberás integrar
desde la planificación, los diagramas de UML, programación orientada a objetos, y una
sobrecarga; la cual responda como una solución informática a la siguiente situación:
Problema
Un cliente solicita un programa, el cual tenga una base de datos incrustada que guarde el
nombre y apellido del usuario; El programa deberá permitir leer la base de datos, permitir
actualizar datos y permitir borrar los datos; es tanta la urgencia del cliente que por el
momento no solicita interfaces gráficas.
54
Instrucciones de cómo realizar el trabajo de vinculación SQL al lenguaje de
programación en Java con NetBeans.
Codificar el proyecto
Añadir JAR Folder
56
Ya están añadidos a “Libraries”
58
Codificar la clase “Personas”
Crea el código de encapsulado para la clase “Personas” el cual debe incluir:
✓ Atributos de acceso privado (private)
✓ Setters / Getters
✓ Operaciones
60
Contenido de la clase “ConexionSQL”
62
Contenido de la clase “MAIN”
64
Autoevaluación del corte 3
Instrucciones
¿Cuál consideras que es tu nivel de dominio en el trabajo como programador en JAVA, en
este segundo corte?
R&D company in the area of software development and engineering. (Sin año). STARUML.
03/10/2020, de MKLabs Co.,Ltd. Sitio web: http://staruml.io/
Jeison y Meire. (2018). Diagrama de Ishikawa, Imagen Diagrama de Ishikawa, Sitio web:
https://bit.ly/3nswGCr
66
Fuentes consultadas del Corte 3
Practicando con los códigos W3 School para programación en Java (requiere conexión a
internet de forma constante) W3 Schools. (2020).
Java Tutorial de W3 Sitio web: https://bit.ly/2RVnNCy
R&D company in the area of software development and engineering. (Sin año). STARUML.
03/10/2020, de MKLabs Co.,Ltd. Sitio web: http://staruml.io/
Problema
El Colegio de Bachilleres te solicita un programa que utilice una base de datos incrustada
que guarde el Nombre, Apellido, CURP, Teléfono, Fecha de nacimiento y correo
institucional; el programa deberá permitir leer, actualizar y borrar los datos dentro de la base
de datos. Es tanta la urgencia del cliente que por el momento no solicita interfaces gráficas.
Apoyo adicional
Puedes ayudarte en las actividades del Corte 3, y agrega una función SQL para añadirle
columnas a la tabla “persona”.
Ejemplo:
https://www.w3schools.com/sql/sql_alter.asp
68