0 calificaciones0% encontró este documento útil (0 votos) 518 vistas152 páginasMódulo de Fundamentos de Programación-2022
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
Fundamentos de
Programacion
Programa de la Facultad de IngerMODULO DE APRENDIZAJE - PRESENTACION
D tabs we gg
Fundamentos de programacién
© Corporacién Universitaria Remington
Medelin, Colombia
Derechos Reservades ©:
Primera edicién
2022
1022
Fundamentos de programacién
Jost Antonio Polo
Facultad de Ingenierias
Comité académico
Jorge Mauricio Sepdlveda Castafio
Decano facuitac ce ingenierias,
David Ernesto Gonzélez Parra
Ditector de educacion » Distancia y Virtua
doonzalez@[Link]
Francisco Javier Alvarez Gémez
CCoordinador de Virtualidad EAD-V
falvarez@[Link]
Edicién y Montaje
Direeeién de Eduenciin a Distancia y Virtua
Equipo de diseio gréico
sev [Link]
vitua!@[Link]
Une Reducclin dot
Estudio de Ly Medios Auciovisucles
Es
Video de presentacién del curso
Derechos reservados: El médulo de estudio del curso de
Fundamentos de programacién es propiedad de le Corporacién
Universitaria Remington; las imSgenes fueron tomadas de ciferentes
fuentes que se relacionan en los derechos de autor y las citas en ia
bibiografi. El contenido de! médulo esta protegido por las leyes de
erechos de autor que rigen al pals. Este materal tiene fines
feducatwos y no puede usarse con. propésitos econémicos 0
‘comerciales. E| autor(es) cerbfice (de manera verbal o escrita) No
hhaber incurrido en fraude cientiico, plagioo vicios de autoria; en caso
Ccontrario eximié de toda responsabilidad a la Corporacién
Universitaria Remington y se deciar® coma e' Gnico responsable.
@PSE
Esta obra es pubilcaca bao a licencia Creative Commors.
Recorocimiento-No Comercial-Comparti Igual 2.5 Colombia
Powered byTABLA DE CONTENIDO
Pag,
1 PROPOSITO GENERAL.
1.1 PROBLEMA PARA SOLUCIONAR 0 PREGUNTA PROBLEMATIZADORA
12 omenivos sen
121 General 10
12.2 Especiticas 10
1.3 UNIDADES..
2. UNIDAD 1, FUNDAMENTOS DE PROGRAMACION.
21 oBiETvos
241 Genera.
212 Especifcos uu
2.2. RELACION DE CONCEPTOS..
2.3. PRESENTACION DELA UNIDAD
2.4 DESARROLLO TEMATICO.
2.4.1 Tema i. La comprension del problema. 14
2.4.2 Tema 2. Paradigmas de programacién 7
2.43 Tema 3. Configuracién del ambiente de trabajo. 23
2.4.4 Tema. Control de versiones, 36
245 Temas. Estructura del cédigo. 40
25 RECURSOS.. 7
25.1 Documentacion Referenciada.
25.2 Material adicional
2.6 EJERCICIOS DE PROFUNDIZACION
2.7 PISTAS DE APRENDIZAJE
3. UNIDAD 2, PROGRAMACION ORIENTADA A OBIETOS.
3.1 OBJETIVOS....
3.11 General
3.412 Especiicos
3.2. RELACION DE CONCEPTOs.
3.3. PRESENTACION DELA UNIDAD
3.4 DESARROLLO TEMATICO.... .
3.4.1 Tema 1. Elementos de la programacin orientada a objetos
3.42 [Link] de la POO.
3.43 Tema 3, Cases abstractas e interfaces
Powered by3.44 Tema4 Excepciones... oe
3.5 RECURSOS. a i
35.1 Documentacion Referenciads. 102
35.2 Material adicional i 102
3.6 EJERCICIOS DE PROFUNDIZACION
3.7 PISTAS DE APRENDIZAJE
4 UNIDAD 3, ESTRUCTURAS DE DATOS Y COLECCIONES...
4.1 OBIETIVOS...
4.11 General. :
41.2 Especifcos... 108
4.2. RELACION DE CONCEPTOS..
4.3. PRESENTACION DELA UNIDAD
4.4 DESARROLLO TEMATICO. 2 —
444.1 Tema 1 Estructuras de datos abstractas ~ TAD. an
442 Tema2. Genérico
443 Tema3, Colecciones. ns
44.4 Tema 4, Manipulacion de archives...
4.5 RECURSOS. — . se 187
45.1 Documentacién Referenciads. 107
45.2 Material adicional o 148
4.6 EJERCICIOS DE PROFUNDIZACION
4.7 PISTAS DE APRENDIZALE..
5 BIBLIOGRAFIA.
5.1 BASES DE DATOS INSTITUCIONALES.
5.2 CIBERGRAFIA nen a x 152
7 Tablas
Tabla 1 Pasos para instalacién del JDK, Unidad 1. Autoria del autor
25
Tabla 2 Descripcién grafica del entorno del sistema Path, Unidad 1. Autoria del autor.
Tabla 3 Descripcién de la linea de consola (emd), Unidad 1. Autoria del autor. a
Tabla 4 Descripcién del registro de compilacion y ejecucién en cmd, Unidad 1. Autoria del autor.
129
Tabla 5 Descripcién de algunos Editores, Unidad 1. Autoria..
Tabla 6 Descarga y uso del editor Eclipse, Unidad 1. Autoria del autor ....snsnniinnnsesenesnsene 30
Powered byTabla 7 uso del editor Eclipse para java, Unidad 1. Autoria del autor. 31
Tabla 8 Estructura de una aplicacién desde Eclipse, Unidad 1. Autoria del autor 32
Tabla 9 Clases empaquetadas en [Link], Unidad 1. Autoria del autor... 38
Tabla 10 Estructura basica de una aplicacién, Unidad 1. Autoria del autor. A?
Tabla 11 Separadores o delimitadores, de una aplicacién, Unidad 1. Autoria del autor. 3
Tabla 12 Palabras reservadas empleadas en java, Unidad 1. Autoria. el autor. 46
Tabla 13 Operadores en java, Unidad 1. autoria. 51
Tabla 14 Algunos tipos de datos y su capacidad de memorias, Unidad 1. Autorfa del autor. nse. 52
Tabla 15 Asignacién en variables tipo nativa, declaracién y asignacién, Unidad 1, Autoria del autor. 53
Tabla 16 Sintaxis declaracién y asignacién de variables tipo clase, Unidad 1. Autoria del autor. ...... 55
Tabla 17 Algunos datos tipo clase, Unidad 1. autoria. autor... 57
‘Tabla 18 Caracteristicas de algunas variabless, Unidad 1, autoria. autor... 201 57
Tabla 19 Estructuras de control condicional, Unidad 1 Autoria 60
Tabla 20 Estructura de control ciclico Unidad 1 Autoria .
Tabla 21 estructura de un proyecto y una clase en java, Unidad 1. Autoria del autor. 64
Tabla 22 Estructura de un métado, Unidad 1. Autoria del autor. 65
Tabla 23 Profundizar en manejo de mensajes y captura de datos, Unidad 1, autoria, autor... 66
Tabla 24 Algunos Componentes de la Programacién O a O. (implemetacién de la clase) Unidad 2.
Autori TA
Tabla 25 caracteristicas fundamentals de la Programcién Orientada a Objeto. unidad 2, Autoria del
autor... 76
Tabla 26 Caracteristicas de los elementos secundario de POO unidad 2. Autoria del autor snes 77
Tabla 27 Los métodos get y set unidad 2. Autoria 79
Tabla 28 Descripcién del agrupador de clases de java unidad 2. Autoria del autor... 80
Tabla 29 Algunos tipos de paquetes empleados en java y sus caracteristicas unidad 2. Autoria del autor.
ene 82
86
Tabla 30 Clase y subclase abstracta (implementaci6n) unidad 2. Autoria del autor...
Powered by
CamScannerTabla 31 Modelo e implemetacién de una interfaz unidad 2. Autoria del autor. a9
Tabla 32 Descripcién de la clase Scanner (para lectura desde el sistema) unidad 2. Autoria del autor.92
Tabla 33 Descripcién del cuadro de dialogo JOptionPane, unidad 2. Autoria del autor. 93
Tabla 34 Descripcion de las clases para capturar InputSteramReader y BufferReader, unidad 2. Autoria
del autor. 1 96
Tabla 35 Componentes y contenedores en java del paquete awt o swing unidad 2. Autoria del autor.
98
Tabla 36 Caracteristicas de algunos tipos de excepciones unidad 2. Autoria del autor. 199
Tabla 37 Administracion de algunas excepciones Unidad 2. Autoria del autor. 100
Tabla 38 Implementacién de la excepcidn try/Catchs Unidad 2. Autoria ..c..sesinnnnnneensee 101
Tabla 39 profundizacién en el manejo de formulario Unidad 2. Autoria del autor ....nssnnsensnnee 104
Tabla 40 profundizaci6n en implementacién con excepcién sin captura unidad 2. Autoria 0... 105
Tabla 41 Estructura de la clase Arreglo (creacién, definicin y sus elementos), Unidad 3. Autoria.... 116
Tabla 42 Descripcidn de la técnica para generalizacién, Representacién Unidad 3. Autoria 119
Tabla 43 Implemetacién de la clase computador y tablets sin parametrizacién Unidad 3 Autoria.... 120
Tabla 44 Descripcién de algunos tipos de datos parametrizados Unidad 3 Autoria...... 121
Tabla 45 Algunas desventajas de la técnica basica de la Genericidad Unidad 3 Autoria... 122
Tabla 46 Implemetacién de la técnica clase Universal con métodos genericos Unidad 3 Autoria ..... 123
Tabla 47 Implementacién de la técnica generalizacién con objeto en una clase Pila Unidad 3 Autoria
124
Tabla 48 Implementacién tecnica parametrizada en la clase Pila y computadorr Unidad 3 Autoria . 125
Tabla 49 Algunos tipos de colecciones Unidad 3 Autoria /. 128
Tabla 50 Métodos de colecciones y generalizaciones Unidad 3 Autori 129
Tabla 51 Implentacién de colecciones Unidad 3 Autoria..... 130
Tabla S2 Recorrido de Colecciones Definicién e implementacién Unidad 3 Autoria 131
Tabla 53 Implementacién de tipos de datos clase Unidad 3 Autoria...... 132
Tabla 54 Implemetacién con archivo modo apertuara escritura Unidad 3 Autoria . 138
Powered by
CamScannerTabla 55 Implemetacién archivo secuencial modo escritura, lectura y principal Unidad 3 Autoria... 141
Tabla S6 Implementacién archivo binario clase principal Unidad 3 Autori 143
Tabla 57 Descripcién del modo de acceso del archivo Unidad 3 Autoria. 146
Tabla 58 descripcién del modo de acceso lectura dl archivo Unidad 3 Autoria 147
Tabla 59 Profundizacién de generalizacién Unidad 3 Autoria .. 148
Tabla 60 profundizacién para manejo de archivo Binario Unidad 3 Autoria 150
ILUSTRACIONES
llustracién 1 Mapa conceptual de las Unidades autoria del autor... geld
llustracién 2 Mapa Relacién de conceptos Unidad 1. Autoria del autor... 12
llustracién 3 Presentacién de la Unidad 1 autoria..... 4
llustracién 4 Sistemas de informacion unidad 1. Autoria is
llustracién 5 Deficiencias en el sitema unidad 1 autoria.. AAS.
llustracién 6 Comprensién del problema unidad 1 autoria 16
llustracién 7 Clasificacioén del Paradigma de programacién unidad 1 autoria
llustracién 8 Tipos de paradigmas de programacién Unidad 1. Autoria: «0. 18
llustracién 9 Paradigma Imperativo Unidad 1. Autoria del autor. .. 19
llustracién 10 Paradigma estructural Unidad 1. Autoria: 19
llustracién 11 Paradigma declarativo Unidad 1. Autoria: 20
llustracién 12 Paradigma funcional Unidad 1. Autori 2.
llustracién 13 Paradigma légico Unidad 1. Autori
llustracién 14 Paradigma Orientado a Objetos Unidad 1. Autoria,
llustracién 15 Paradigma Orientado a eventos Unidad 1. Aut os)
llustracién 16 Paradigma orientado a aspectos Unidad 1. Autoria $28
llustracién 17 Ambiente de trabajo integrado Unidad 1. Autoria:.. 2
llustracién 18 IDE, algunos componentes y contenedores (etiquetas, texto y botén) Unidad 1. Autorfa:
aULOT vse BE
Powered by CamSeannerllustracién 19 IDE de Eclipse Unidad 1. Autoria: 35
llustracién 20 IDE de Netbeans Unidad 1. Autoria: 1 36
llustracién 21 Sistemas de control de versiones, Unidad 1. Autoria. 1 38
llustracin 22 CVS y subversiones sun Unidad 1. Autoria 40
llustracién 23 Pista para fundamentos de programaciénUnidad 1. Autoria:. 67
llustracién 24 Relacién de conceptos (mapa conceptual) Unidad 2. Autoria del autor. 68
llustracin 25 Presentacidn de la unidad 2 autoria 70
llustracién 26 Descripcién gréfica de Programacién Orientada a Objetos Unidad 2. AutoFla: nse 70
llustracién 27 Programacién Orientada aObjetos en java Unidad 2. Autoria: ail
llustracién 28 Componentes de la Programacién Orientada a Objetos en java Unidad 2. Autoria:..... 71
llustracién 29 Modelo UML de una clase Articulo unidad 2. Autoria del autor. 82
llustracién 30 implementacién del modelo de una clase en el editor Eclipse unidad 2. Autoria del autor.
arn
llustracién 31 Clase abstracta e Interfaz unidad 2. Autoria:.. 86
llustracién 32 Pista de aprendizaje de la unidad 2 autoria del Autor: .. 106
llustracién 33 Relacién de conceptos (mapa conceptual) Unidad 3, Autoria: Autor: 109
llustracién 34 presentacién de la unidad 3. 110
llustracién 35Representacién de un arreglo en memoria Unidad 3, Autoria: 116
llustracién 36 Contenedor de generalizacién Unidad 3 Autori 120
llustracién 37 jerarquia de coleccién de datos Unidad 3 Autoria: del autor.. 126
llustracién 38 Jerarquia de colecciones de datos Unidad 3 AUtOTIa: ....unnnnnnnnnennnene DT
llustracién 39 Streams Flujo de datos Unidad 3 Autorfa 133
llustracién 40 modelo (UML)de clase archivo Unidad 3. 145
llustracién 41 Pista de aprendizaje para Unidad 3 Autoria: 150
9 VIDEOS
Video 1 Paradigmas unidad 1 ar
Powered by
CamScannerVideo 2 IDE unidad 1 35
Video 3 control de versiones unidad 1
Video 4 Programacién Orientada a Objetos unidad 2 02
Video 5 Clase abstracta en java unidad 2... 86
Video 6 Excepciones en java Unidad 2 98
Video 7 TAD unidad 3 m1
Video 8 Estructuras genericas unidad 3... 118
Video 9 Colecciones unidad 3...... 126
Video 10 Archivos unidad 3 133
Powered by
CamScanner1 PROPOSITO GENERAL
1.1 PROBLEMA PARA SOLUCIONAR O PREGUNTA PROBLEMATIZADORA,
El estudiante debe emplear los conceptos y herramientas vistas para disefiar aplicaciones de software
que permitan solucionar problemas de la vida real realizando un correcto andlisis de requisitos,
abstrayendo los elementos del mundo del problema, cumpliendo con buenas précticas y metodologias
de desarrollo y entregando un producto con esténdares definidos de calidad.
1.2 OBJETIVOS
1.2.1 General
Desarrollar habilidades basicas que permitan gestionar informacién en memoria o archivos con 0
sin formato haciendo uso de estructuras de datos simples y las definidas por el respectivo lenguaje
para implementar paradigmas de programacién orientada a objetos.
1.2.2. Especificos
‘+ Comprender los conceptos generales del desarrollo de un producto de software comenzando
por entender el problema al cual se le quiere dar una solucién informatica, identificando el
paradigma o paradigmas que mejor se acogen ala solucién, haciendo una buena configuracién
del ambiente de trabajo y aplicando buenas practicas para el desarrollo de software.
* Aplicar los elementos y caracteristicas de la programacién orientadaa objetos en la creacién de
productos de software eficientes, robustos y mantenibles en el tiempo.
© Utilizar las estructuras de datos primitivos y las estructuras de colecciones definidas en el
lenguaje para desarrollar soluciones de software para la gestién de la informacién en memoria,
Powered by1.3 UNIDADES
Ilustracién 1 Mapa conceptual de las Unidades autoria del autor.
2 UNIDAD 1. FUNDAMENTOS DE PROGRAMACION
2.1. OBJETIVOS
2.1.1 General
Comprender los conceptos generales del desarrollo de un producto de software comenzando por
abstraer (comprender) el problema al cual se le quiere dar una solucién informatica, identificando el
paradigma o paradigmas que mejor se acogen a la solucién, haciendo una buena configuracién del
ambiente de trabajo y aplicando buenas précticas para el desarrollo de software.
2.1.2 Especificos
Describir los elementos fundamentales para comprender los lineamientos y el alcance de un problema
Describir los conceptos, estilos y procedimientos relacionados por el paradigma de programacién.
Comprender los componentes facilitadores propios para el manejo de las herramientas integradas en
el desarrollo de un programa,
Comprender los elementos presentes en la gestién de configuracién de un desarrollo de software al
igual que las diferentes herramientas modificadoras.
Describir los conceptos, las estructuras bésicas para la elaboracion del cédigo fuente de un programa.
Powered by
CamScanner2.2 RELACION DE CONCEPTOS
fonia as
ae Odie faced
Hustracién 2 Mapa Relacién de conceptos Unidad 1. Autoria del autor.
Comprensién del problema: Identificar los componentes de software requeridos para solucionar un
problema correctamente.
Paradigmas de programacién: Principios 0 modelos establecidos para clasificar los lenguajes de
programacién y solucionar problemas por medio del software.
Paradigma Imperativo: explica mediante secuencia de instrucci
programa a solucionar.
nes cual es el funcionamiento del
Paradigma Estructurado: utiliza funciones o subprogramas y tres estructuras de control (secuencia,
seleccién ¢ iteracién) para solucionar un problema.
Paradigma Declarativo (programacién légica): describe el problema y establece lo que se quiere hacer
en lugar de como se quiere realizar. (Es lo opuesto al imperativo por que implementa una relacién en
lugar de una correspondencia)..
Powered byParadigma Funcional: (es un declarativo) establece que se quiere hacer, mediante la descripcién del
problema sin entrar en la solucién mucho menos en repeticiones.
Paradigma Légico: (es declarativo) soportado por reglas Idgico-matematicas caracterizando 0
relacionando la informacién (declarando un conjunto de condiciones, proposiciones y afirmaciones)
para obtener conclusiones o demostraciones.
Paradigma orientado a Eventos: son programas que atienden a sucesos (flujos controlados de una
aplicacién) y dependiendo de la ocurrencia realiza una ejecucidn generada por el sistema o provocada
por el usuario.
Paradigma orientado a Objeto: Organiza los conceptos de clases métodos y abjetos para desarrollar
aplicaciones.
Paradigma orientado a Aspectos: (Libreria dinémica) permite una modularizacién de obligaciones
transversales.
Configuracién del ambiente de trabajo (IDE): encargado de manejar varias aplicaciones |lamadas
herramientas facilitadoras, para la creacién de aplicaciones de forma més cmoda.
Componentes: elementos que facilitan el manejo del IDE como editores de texto, compiladores
intérpretes, depuradores, sistemas de disefio e interfaz gréfica entre otros.
Interfaz grafica: facilita al usuario la interaccién con algunos procedimientos del programa.
Control de versiones: encargada de gestionar los cam
de software para evitar el descontrol.
15 generados dindmicamente en el desarrollo
Gestién de la configuracién del software: administra las actividades relacionadas con el desarrollo de
software y los productos generados.
Sistema control de versiones: seguimiento a cada una de las versiones en que se encuentra cada
elemento del mantenimiento de software.
Estructura del cédigo: permite a los programadores de cualquier otro lenguale leer cédigo sin mucha
dificultad
Estructura del programa: utiliza una clase con el nombre del programa, el método principal llamado
main (), incluye un bloque definido por {) con la o las actividades del programa.
Comentarios: delimitador colocados en el cédigo fuente de un programa son ignorados por el
compilador 0 el intérprete empleado para facilitar la tarea de los desarrolladores de software.
Identificadores: son nombres conformados por una cadena de caracteres que se les coloca a las
variables, métodos, clase entre otros, en el cédigo fuente de un programa.
Powered by2.3 PRESENTACION DE LA UNIDAD
Definir de una manera clara el problema al cual se pretende darle solucién para poder hacer un correcto
anélisis del problema que permitan identificar sus partes, especificar sus requerimientos y determinar
el mundo o el alcance de este.
Los paradigmas de programacién son estandares adoptados por la
‘comunidad y la industria que permiten resolver un tipo de problema
de una manera eficiente y tiene relacién con la forma de seleccionar
un determinado lenguaje de programacién y una arquitectura de
software a la hora de dar solucién a un problema.
Se explicard la mejor forma de configurar el ambiente de trabajo
para que la eficiencia a la hora desarrollar la solucién sea dptima. Se
darén a conocer conceptos y se experimentaré con entornos de
desarrollo integrados, compiladores, depuradores, extensiones para
facilitar la edicién del cédigo, sistemas de gestién de proyectos,
entre otros.
La administracién de los cambios que se desarrollan durante los,
diferentes procesos de elaboracién o configuracién del software es
Un proceso que permea todas las etapas de la ingenierfa del
software y permite acceder a una revision o versién de un
producto a fin de revertir un problema o mejorar un procedimiento
en el programa, llustracién 3 Presentacién
de la Unidad 1 autori
Con la elaboracién de un cédigo se realiza una introduccién a las buenas Go ee ete
practicas y el cuidado en la elaboracién y solucién de un programa 0. di
producto de software pensando no sélo en el bienestar de quien desarrolla
el cédigo sino en el de sus colaboradores y sucesores.
2.4 DESARROLLO TEMATICO
2.4.1 Tema 1. La comprension del problema
Un sistema informatico esta compuesto por hardware y software. En cuanto al hardware, su produccién
se realiza sistematicamente y la base de conocimiento para el desarrollo de dicha actividad esté
claramente definida. La fiabilidad de! hardware es en principio equiparable, a la de cualquier otra
maquina construida por el hombre. Sin embargo, respecto del software, su construccian y resultados
han sido histéricamente cuestionados debido a los problemas asaciados, entre ellos podemos destacar
los siguientes:
+ Los sistemas no responden a las expectativas de los usuarios.
« Los programas “fallan” con cierta frecuencia,
* Los costos del software son dificiles de prever y normalmente superan las estimaciones.
Powered by+ La modificacién del software es una tarea dificil y costosa
+ El software se suele presentar fuera del plazo establecido y con menos prestaciones de
lasconsideradas inicialmente.
‘+ Normalmente, es dificil cambiar de entorno hardware usando el mismo software.
+ El aprovechamiento éptimo de los recursos (personas, tiempo, di
suele cumplirse,
lefo, herramientas, entre otros) no
HARDWARE AND SOFTWARE
HARDWARE SOFTWARE
Tustracién 4 Sistemas de informacién unidad 1. Autoria
Segiin el Centro Experimental de Ingenieria de Software (CEIS), a través de algunas investigaciones
realizadas han concluido que sélo un 16% de los proyectos de software son
exitosos (terminan dentro de plazos y costos y cumplen los requerimientos
acordados). Otro 53% sobrepasa costos y plazos y cumple parcialmente los
requerimientos. El resto ni siquiera llega al término. Algunas deficiencias,
comunes en el desarrollo de software son:
* Escasa o tardia validacién con el cliente.
+ Inadecuada gestion de los requisitos.
+ No existe medicién del proceso ni registro de datos histéricos.
« Estimaciones imprevistas de plazos y costos. Iustracién 5, Defcencas en e!
‘sitemaunidad 1 autoria
ttos://mudan. "
deficiencia-ai,ah
Powered by CamScanner+ Excesiva e itracional presién en los plazos.
+ Escaso 0 deficiente control en el progreso del proceso de desarrollo.
«No se hace gestién de riesgos formalmente.
+ No se realiza un proceso formal de pruebas.
«No se realizan revisiones técnicas formales e inspecciones de cédigo.
Con la creacién de la computadora y la proliferacién de los lenguajes se inicié el desarrollo de Sistemas
de informacién con la finalidad de apoyar el manejo de los datos de las empresas, estos lenguajes de
programacién han mejorado con el tiempo usando nuevos conceptos (Lenguajes procedurales /
declarativos / Orientados a objetos / Orientados al problema, entre otros.), pero existe una constante
en todo este tiempo: la insatisfaccién del usuario con respecto al producto final, esto es debido a
miiltiples factores entre los cuales podemos mencionar.
La definicién det alcance (no cumple con lo solicitado por el usuario], no cumple con el tiempo
establecido (esto a su vez impacta sobre el costo del desarrollo el cual se eleva), en el aplicativo existen
incongruencias que luego pasa a un estado de mantenimiento constante, el equipo de desarrollo no
trabaja como debe de ser, se realizan modificaciones que no son informadas a todos los interesados y
provaco molestias, existen factores internos y/o externos que provocan demora y no son tomados en
cuenta, y Ia adquisicién de productos y/o servicios adicionales debe de seguir un seguimiento.
Se ilustran algun pasos requeridos para dar solucién a un problema informatico.
p= go>
\ —
- LCD
(rosie) —> a
Ez
ee
ae Se) = -
\ <— fc) <0)
R, Mra
lo * nh,
Tustracién 6 Comprensién del problema unidad 1 autoria
Poweredtps /univerad-e lor sndesgtbooks o/fundemsctoede-programaclon/content/Net/3 ProlemsSolulones him
A través del tiempo y con los nuevos avances tecnolégicos se determina que es muy complicado que
los programadores desarrollen un buen producto de software con solo la supervisién humana. Con la
Fabrica de Software que tiene mds que supervisién humana, pretende medir y controlar la
productividad y la calidad, manteniedo registros financieros para coste y planificacion. Se afiaden otras
disciplinas de gestién de proyectos, metodologias, programas de formacién, entre otros.
Para lograr un buen alcance, es necesarios garantizar que el proyecto incluya todo el trabajo requerido
para completarlo con éxito, la idea es definir que se incluye o no en el proyecto.
La gestidn del tiempo del proyecto incluye los procesos requeridos para administrar la finalizacion de
este a tiempo, justo en esta etapa se desarrolla el cronograma para su seguimiento respectivo.
La gestién de los costos se encarga de la estimacién, presupuestacién y control de manera que el
proyecto pueda culminarse dentro del presupuesto aprobado.
Se determinan politicas, objetivos y responsabilidades de calidad, para que el proyecto satistaga las,
necesidades por las cuales fue emprendido, se planifica adems su aseguramiento y control.
‘Comunicacién asegura la oportuna y apropiada generacién, coleccién, distribucién, almacenamiento,
recuperacién y disposicién ultima de la informacién del proyecto.
Riesgos, incrementa la probabilidad ¢ impacto de los eventos positivos y disminuye la probabilidad e
impacto de los eventos negativos en el proyecto (como ejemplo: falta de apoyo de los interesados).
Recurso Humano, organiza, gestiona y lidera el equipo de proyecto, compra o adquisicién de productos,
servicios o resultados que se necesitan dentro o fuera del equipo de proyecto.
2.4.2. Tema 2. Paradigmas de programacién
Un paradigma de programacién provee y determina la visién y los métodos de un programador en la
construccién de un programa o subprograma, Los paradigmas se presentan en diferentes estilos de
programacién y en diferentes formas de pensar la solucién de un problema (con la solucién de multiples
“problemas” se construye una aplicacién).
[Link]
Video 1 Paradigmas unidad 1
Powered byLa Clasificacién de los paradigmas de programacién.
Ported
Mustracién 7 Clasificaciodn del Paradigma de programacién unidad 1 autoria
tolforofesores $b unom,ma/hainagn/Paracigmast? pot
Los lenguajes de programacién estén basados en uno o mas paradigmas, por ejemplo, Smalltalk y Java
son lenguajes basados en el paradigma orientado a objetos, Python, soporta multiples paradigmas, el
lenguaje de programacién Scheme, solo soporta programacién funcional.
ustracién 8 Tipos de paradigmas de programacién Unidad 1. Autoria
ps // ww sprenderprogrsmaro/2017/05/parsdlmss de programacon him)
Powered by @ CamscannerParadigma Imperativo: describe la programacién como una secuencia instrucciones o comandos que
cambian el estado de un programa. El cédigo de maquina en general esta basado en el paradigma
imperativo. Su contrario es el paradigma declarativo. En este paradigma se incluye el paradigma
procedimental (procedural), el estructurado, entre otros.
<> —
Paradigma Imperativo
Iuustracién 9 Paradigma Imperative Unidad 1 fa del autor
Paradigma Estructurado: la programacién se divide en bloques sencillos de cédigo (procedimientos y
funciones) que pueden o no comunicarse entre si, Ademas, la programacién se controla con secuencia,
seleccién e iteracién, Permite reutilizar cédigo programado y otorga una mejor compresién de la
programacién al igual que su depuracién. Es contrario al paradigma inestructurado, de poco uso, que
no tiene ninguna estructura, es simplemente un “bloque”, como, por ejemplo, los archivos batch (bat).
tural Unidad 1. Aut
Paradigma Declarativo: No se basa en el cémo se hace algo (cémo se logra un objetivo paso a paso),
sino que describe (declara] cémo es algo. En otras palabras, se enfoca en describir las propiedades de
Powered by CamSeannerla solucién buscada, dejando indeterminado el algoritmo (conjunto de instrucciones) usado para
encontrar esa solucién. Es més complicado de implementar que el paradigma imperativo, tiene
desventajas en la eficiencia, pero ventajas en la solucién de determinados problemas. Vemos como una
hoja de célculo un ejemplo claro, sus celdas contienen valores 0 expresiones mateméticas que se
actualizan automaticamente cuando cambiamos los valores de entrada. La relacién entre valores y
resultados es totalmente matematica y para su célculo no debemos tener en cuenta pasos de ejecucién.
Describe que se debe calcular, sin explicitar el cémo. (Programacién funcional y ldgica).
Mustracién 11 Paradigma declarative Unidad 1. Autoria:
rf com febiokhecis/osrd
Paradigma Funcional: este paradigma concibe a la computacién como la evaluacién de funciones
matemiéticas y evita declarar y cambiar datos. En otras palabras, hace hincapié en la aplicacién de las
funciones y composicién entre ellas, mas que en los cambios de estados y la ejecucién secuencial de
comandos (coma Io hace el paradigma procedimental). Permite resolver ciertos problemas de forma
elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otro tipo de
programaciones. Un tipo encajado en este paradigma es la programacién evolutiva 0 iterativa en ella
los programas complejos se construyen a base de ir definiendo y probando elementos computacionales
cada ver més complicados. (Como Abelson y Sussman comentan en el libro Structure and
Implementation of Computer Programs (SICP): Abelson y Sussman sobre la programacién incremental)
Powered bylustracién 12 Paradigma funcional Unidad 1. Autoria:
Paradigma Logico: se basa en la definicién de reglas légicas, para luego a través de un motor de
inferencias logicas responder las preguntas planteadas al sistema y asi dar solucidn al problema, se basa
en la légica de predicados, ejemplo: prolog.
PARADIGMA
LOGICO
Iustracién 13 Paradigma l6gico Unidad 1. Autorta:
‘espe com /o [dts pt arias 5)
Paradigma Orientado a Objetos:
La programacién orientada a objetos 0 POO es un paradigma de programacién que usa objetos y sus
interacciones, para disefiar aplicaciones y programas de computadoras. Esta basado en varias técnicas,
incluyendo herencia, abstraccién, polimorfismo y encapsulamiento, Un paradigma de programacién
representa un enfoque particular o filosofia para la construccién del software. No es mejor uno que
oto, sino que cada uno tiene ventajas y desventajas.
Su principal ventaja es la reutilizacién de cédigos y su facilidad para pensar soluciones a determinados
problemas incluidos dentro de sus elementos fundamentales y secundarios de la metodologia
Orientada a Objetos. Entre las desventajas las limitaciones del desarrollador respecto a las
Powered by @ Camscannercaracteristicas del paradigma y de hecho que siga utilizando el paradigma estructurado. No existe una
forma dnica de resolver el problema planteado.
ue. Lars
— caprenEE S m
qeeteouren tes nas aekeodee:
lustracién 14 Paradigma Orientado a Objetos Unidad 1. Autorla,
o/c intrest com/pin/738590907629059330/
Paradigma Orientado a Eventos: est basado en la programacién dirigida por acciones detectables (el
programa decide si responde 0 no) en el que tanto la estructura como la ejecucin de los programas
van determinados por los sucesos que ocurran en el sistema, definidos por el usuario 0 que ellos
mismos provoquen como en una interfaz erafica.
El Paradigma
Orientado a
Eventos
stracién 15 Paradigma Orientado @ eventos Unidad 1. Autoria
t/a youtube com/watch BRO dE
Paradigma Orientado a Aspectos: est basado en el concepto de “Aspecto” que pretende dar una
determinada funcionalidad al sistema; separando esta funcionalidad del sistema, con el fin de aumentar
el modularidad y disminuir el acoplamiento. Especificamente pretende entender los conceptos y
eliminar la dispersién del cédigo, separando los requerimientos funcionales de los no funcionales
facilitando la implementacién, (Libreria dindmica).
Powered by
CamScannerMustracién 16 Paradiama orientade @ aspectos Unidad 1. Autoria,
to / Jone conries cm/es acon sectn teen progr tnacincsient ne pecs trie
2.4.3. Tema 3. Confi
in del ambiente de trabajo
Mustracién 17 Ambiente de trabajo integrado Unidad 1. Autorfa:
‘tps: //wwr [Link]/noteas/netbeans-o-elipse-cus-elegi/
Por definici6n IDE (Integrated Development Environment) entorno integrado de desarrollo encargado
de manejar varias aplicaciones llamadas herramientas facilitadoras, para la creacién de aplicaciones de
forma mas cémoda del desarrollador permitiendo escribir cédigo, compilar, ejecutar, depurar y usar
miltiples herramientas desde el propio entorno para programar en Java (y también en otros lenguajes).
Como entorno del desarrollador y facilitador encapsula aplicaciones propias o realizadas por otros
desarroliadores y las dejan disponible. Algunas de estos son el editor de cddigo (se digita el cédigo), el
‘compilador ( valida la buena escritura de todo el cédigo), un depurador( valida la buena escritura de
tuna sola linea de cédigo) , el ejecutor para cuando se pone en funcionamiento la aplicacién que esta en
lenguaje binario (realiza el proceso}, con la posibilidad de adicionar mas componentes y un constructor
Powered by @ Camscannerde interfaz gréfica GUI, ademas cuando es posible se adicionan pluggins (cédigo de soporte adicional
especifico para editores) como en el lenguaje de eclipse o netbeans.
La instalacién y configuracién del JDK
JDK es un entorno de desarrollo que provee heramientas para uso del programador de software. La
herramienta provee libretias, clases, componentes entre otros encargados comprender lo que hace el
desarrollador, el jdk se instala en el pe donde el desarrollador realizara sus diferentes actividades como
aplicaciones y/o Applet, independiente del lenguaje. Ademas del Kid de desarrollo de java se dispone
del compilador JRE (runtime environment java), se encarga de traducir el cédigo fuente para ser
entendido por la maquina (Bytecode}
La versién standard jse o Enterprais Edicion empresas servidores y servicios web.
Para realizar la instalacién del EI jdk Lo primero es ir a la pdgina oficial de Oracle
([Link] [Link]) para descargar la titima versién del jdk disponible, ir a la opcién
“Technologies” — “Java SE” que soporta la arquitectura para sistema operativo de 32 bit y seleccionar
la pestafia “Download”, aparece una pantalla donde se especifica las caracteristicas deseadas, para
comprobar (boton de inicio teclea clik derecho propiedades observa tipo de sistema operetivo).
Tambien se descarga del sitio web oficial: Java SE java development kit 8 download for windows xp 32
bit segin la versién vemos la siguiente descripcion:
Pasos para instalacion del JDK:
Pee og eye ers eee tue
Aceptar condiciones y ubicar en la unidad
SL cece Lae Comprobando la ubicacién java en disco
Powered byCee Re uns cc}
Rete descargar jdk desde el administrador Oracle
[Link]
Tabla 1 Pasos para instalacion del JOK, Unidad 1. Autoria del autor
Una ver descargado e instalado correctamente, se busca la ruta donde se ubicard la instalacién se
recomienda la carpeta de los archivos basicos de java ellos se alojan en la carpeta bin, por ejemplo:
C:\Program Files\Java\jdk1.8.0_05\bin para luego llevarla a la ruta de entorno class path:
C:\Program Files\lava\jdk1.8.0_05\[Link] en el CLASSPATH
C:\Program Files\ava\idk1.8.0_05\ para el JAVA HOME
El administrador del del entorno del equipo, recibe la variable de entorno Path, se siguen los siguientes
paso: desde Equipo -> Click derecho -> Propiedades -> Configuracién Avanzada del Sistema ->
[Pestafia] Opciones Avanzadas -> Variables de Entorno llegamos al cuadro de dialogo con el mensaje
variable de nombre Path, presionamos Editar, dentro del cuadro de dialogo mostrado, con el puntero
vamos hasta el final del texto escrito se coloca el separador “;” y digitamos la siguiente orden sin las
comillas: "C:\Program Files\Java\jdk1.7.0_02\bin;" como se describe en la siguiente tabla nmero 2
con algunas evidencias imagenes del proceso realizableentre cuadros.
Powered by
CamScannerTabla 2 Deseripcion grafiea del entorno del sistema Path, Unidad 1. Autorla del autor.
Una vez que se haya afiadido la ruta, presionar aceptar y se actualiza el proceso.
Para la elaboracién de una aplicacién se tienen dos pasos importantes estos son: la linea de consola
(digitacién de las ordenes por comandos) y el entorno de desarrollo (Se presentan las interfaces
predefinidas del lenguaje de programacién),
Lalinea de consola requiere del simbolo del sistema (cmd) y del black de nota, este tipo de elaboracion
desarrolla habilidades para elaborar, compreder la sintaxis y practicar el codigo, no tiene autoayuda, ni
autocompletado para evitar cometer errores.
La consola (cmd) primero se ubica en Ia ventana de consola procediendo, asi como sigue:
Linea de Consol:
Para llegar a la consola digita cmd De Rue er ke
Para compilar escribimos la orden javac Para salir de consola se digita: exit
Powered by
CamScannerfe co ¢ 1, Autoria del ai
Tabla 3 Descripeisn de sola (emd), Uric
strucciones) se
Para compilar (verificacién de la sintaxis correcta de todas la: ita javac espacio y el
nombre del programa el punto la extensién del archivo java.
La orden para compilar es javac, esto comprueba el proceso de instalacién y configuracién ajustado
para manejer a aplicacién desde java.
Para crear (digitar) una aplicacién llamada HolaMundo, se requiere de un editor 0 se abre el bloc de
notas (para digitar el programar en Java), con o sin clase, pero empleando el método principal cédigo
fuente. Se guarda el archivo con el nombre "HolaMundo java", donde java es la extensiGn del programa
fuente, debe tener presente la diferencia entre mayiscula y mindscula, en este caso se cambié de ruta,
por lo general esté en la unidad c:
Para compilarlo (verificar la sintaxis) y Wevarlo a lenguaje de maquina (objeto) bytecode, se digita la
siguiente sentencia; ruta\ javac [Link] mucha atencién con la ruta del archivo, como se
especifica en la siguiente tabla con sus respectivas ilustraciones.
Compilacién y ejecucién:
Cer oe us er eu aR aca
Re Eun eu uae sae) Puesta en ejecucion de archivo sin errores
Powered by CamSeannerTabla 4 Descripcicn del registro
rompilacién y ejecucion en cmd, Unidad 1. Autoria del autor
Para Ejecutar (poner a correr el c6digo objeto), en la Consola escribimos la orden: java HolaMundo
Muy importante, no se coloca la extensién del archivo (es decir el .class).
ELIDE
Para la elaboracién de aplicaciones se har una muestra de algunos editores de java, pero en la
UNIREMINGTON se tiene en cuenta a Eclipse y en unos casos @ netbeans se describen para su
apreciacién otros que existen en el mercado en el siguiente cuadro.
Editores de java:
2
httos:/Amww. [Link]
fes/netbeans:
[Link] [Link]/oroducs/downloads/
Perea eset itd ee
Ceo ou
Pete ee areca
Puede descargar el entorno
y varios complementos
(plug-ins) de Java
ELIDE NetBeans. Una de las
herramientas de desarrollo. | ‘# Foundation Edition gratuita en su
para Java més populares, de | PopUar IDE JBuilder para Java, ofrece
Agadir eacunal versiones de prueba, de las ediciones
Enterprise y Developer.
Powered CamScanner5 https-/ierasp org/tutorials187_
(01 installing pdt oluth
‘www. [Link]
Mica ss 'ucNa Descarga, documentacién y
herramienta gratuita tutoriales sobre jGRASP. _| texto escrito en Java.
Curce ee cee) Herramienta con
ensefiar Java orientadoa PA Pentennen er
ede) de programas en Java, para
Caen utc ayudar a su comprensién,
he Text Editor
for Windows
: compile,
. cedite y ejecute sus programas en lava
www [Link] sCreator: | Gesde este editor, que proporciona
PE eeu vecas aval coloreo de sintaxis y una interfaz fécil
SCreator Lite Edition esté | Ge year,
EI IDE Sun Java Studio disponible descarga
gratuita. una version de
prueba 30 dias de ICreator
Pro Edition.
oe ray
eR ORG Cout
Sun Microsystems.
Tabla 5 Descripcion de algunos Editores, Unidad 1. Autorta
-htto://[Link]/2012/03/lista-de-editores-v-entornos-de,htm!
La descarga editor eclipse desde [Link] procesador de 32 bit Estndar 0 de 64 bit SE 0 EE.
El editor como facilitador del desarrollador para la elaboracién del cddigo, se selecciono para este caso
Eclipse SE en cualquiera de sus categorias este se describe en el siguiente cuadro hasta Seleccionar java
Powered by
CamScannerSE (esténdar) también existe el EE (Enterprise Edition), mas empleado en empresas, para uso de
servidores y para servicios web. Se describe el estandar.
Descarga y uso de editor
Tabla 6 Descarga y uso del editor Eclipse, Unidad 1. Autoria del autor
A partir del editor facilitador del desarrollador para la elaboracién del cddigo se debe tener en cuenta
para este caso el editor eclipse SE en cualquiera de sus categorias este se describe en el siguiente cuadro
hasta Seleccionar java SE (estandar) también existe el EE (Enterprise Edition), tomemos el estndar.
Uso del editor eclipse:
Powered by CamSeannerDMC Liem estructura para codificar (editar)
mayuscula)
Tabla 7 uso del edltor Eclipse para Jave
Unidad 1, Autorla del autor
Seleccionar de la barra de mend, el meni de archivo (file), por medio del comando nuevo la etiqueta
proyecto java (project name) muestra la ventana para crear el proyecto como lo describe la tabla en la
segunda fila segunda columna. Se debe nombrar el proyecto y terminar el proceso para continuar con
el paquete que es el agrupador de los diferentes archivos de este proyecto, clic derecho en él y el
comando nuevo, pero seleccionar paquete se crea uno debe finalizar el proceso lo indica el editor.
Sobre el paquete, clic derecho se pide un nuevo archivo tipo clase a la cual se le asigna un nombre
preferiblemente primera mayiscula, este presenta algunas opciones para sus métodos en especial si
se requiere el main, (Principal).
La ventana del editor presenta 4 divi
nes para la aplicacién como lo describe a continuacién:
Estructura de una aplicacion desde el editor:
eres ecu aeericu
Powered byTabla 8 Estructura de una aplicacién desde Eclipse, Unidad 1. Autoria del autor
La interfaz gréfica tiene como funcién intermediar entre el programa y el usuario facilitando el acceso
a cada uno de los diferentes procedimientos existentes y controlados, para cuando el usuario interactue
con la aplicacién, en ocasiones restringido su manejo, asi encontrar respuesta al evento.
Las bibliotecas contenidas en la Apis son componentes clases, que de acuerdo con el agrupador
Jerérquico de las clases modifican la apariencia desde los paquetes, el tradicional [Link] o el mejorado
[Link] con controles mas actualizados, para la elaboracién de la aplicacién, independiente de
plataformas camo java, cit, c++, python entre otros, al igual que del editor.
Cada uno de los elementos de una interfaz gréfica de usuario en Java se representa como una instancia
de una determinada clase. Por ejemplo, si queremos que nuestro interfaz tenga un botdn dentro del
formulario, se declara el objeto de la respectiva clase (JButtom), se instancia, se programa el evento, se
agrupa en la componente correspondiente y en la ventana contenedora (formulario).
‘omponente agrupador ventana
Ventanas en Javea i)
mponentes dentro del contenedor ventan
Fl
_ Ammacenar || Restablecer
Mustracién 18 IDE, algunos companentes y contenedores (etiquetas, texto y botén) Unidad 1. Autor
: autor
EI manejador de eventos 0 el escuchador (actionlistener) se encarga de programar algunos de los
controles definidos en la aplicacién como: las etiquetas (muestra mensajes), los textos (muestra y
Powered by CamScannercaptura informacién), los botones (accionan los procesos) estos se agrupan al menos en un panel que
5 un contenedor, por ultimo se agrupan todas las componentes en una ventana o Formulario
‘Al manejar cada componente contenedor por ser clase se debe declara e instanciar dandole las
caracteristicas especificas, se programa el procedimiento y se adiciona o asocia al contenedor
correspondiente para con esa unidad poder iniciar la ejecucién del bytecode.
‘Se muestran algunas clases contenidas en el paquete javax. swing y su respectiva descripcién, observe
el primer cardcter J mayliscula para indicar la pertenencia a javax.
Clases en el paquete javax. Swing:
Cee end Peseta
cre} JLabel ~ Etiqueta, muestra imagenes y texto.
Tea JButton — Botén accién en la aplicacién
Teed ICheckBox- Casilla de verificacién
ccemcny JRadioButton — Botén de radio, usado para seleccionar una opcién entre varias
Sie Coc) ‘STogg)eButton — Botén que se queda presionado al pulsarle
eons 3ComboBox ~ Control que muestra un elemento
eco JScrollBar ~ Barra de desplazamiento, usada en los contenedores
Seed JSeparator - Usado en los menus y barras de herramientas para separar
opciones.
Soe ears Jslider- Deslizador
JSpinner SSpinner ~ Capo de texto con botones para elegir el elemento siguiente 0
anterior.
eres ProgressBar ~ Barra de progreso
Bee Sable Tabla
Powered byee
Tens
me
Hoo
eee
Pee aucun} JCheckBoxMenultem ~ Elemento del mend como botén de chequeo.
Powered by CamSeannerPe uur cuss) JRadioButtonMenultem — Elemento del mend como botén de seleccién,
Ty JPopupMenu~ Menii de elementos.
cE sMenultem — Un botén que se encuentra en un menu,
EG sMenuBar ~ Barra de menus.
Siac SToolBar ~ Barra de herramientas
cour) SToolTip ~Toolti
Tabla 9 Clases empaquetadas en [Link], Unidad 1. Autoria del autor
|inttps://[Link]/Cursos/Java/Entornos Video 2 IDE Unidad 1
El entorno integrado de desarrollo pone a disposicién diferentes aplicaciones de apoyo sea en tiempo
de ejecucién 0 no, incluso se pueden integrar como soporte al lenguaje empleado por el desarrollador
de software, para realizar tareas en uno u otra tecnologia. Las compafiias se encargan de
proporcionarlas, especialmente para trabajar el JDK (Kid de Desarrollo de Java) con la jerarquia de las
componentes awt (manejador de ventanas abstractas) que le ha legado su uso a swing haciendo mas
agil el lenguaje de desarrollo como Eclipse o NetBeans entre otros.
ECLIPSE es un entorno de desarrollo integrado de cédigo abierto multiplataforma para desarrollar lo
que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuestoa las aplicaciones *Cliente-liviano"
basadas en navegadores.
Mustracién 19 IDE de Eclipse Unidad 1. Autoria:
hitpy/[Link]/majocsbe/
Powered by
ScannerEclipse desarrollado originalmente por IBM, es el sucesor de la familia de herramientas para VisualAge,
luego por la Fundacién Eclipse, una organizacién independiente sin dnimo de lucro que fomenta una
comunidad de cédigo abierto y un conjunto de productos complementarios, capacidades y servicios. Es
una plataforma disefiada para ser extendida de forma indefinida a través de plugins (aportan funciones
adicionales al cédigo existente quien lo controla.).
El procesador de eclipse tiene el entorno de sistema de 32 0 64 bits, que al instalar la IMV (maquina
virtual de java) o el JRE (Java Runtime Environment] deben coincidir para seleccionar el entorno
respectivo para Java.
NETBEANS Es una plataforma para el desarrollo de aplicaciones de escritorio, un entorno de desarrollo
visual de cédigo abierto, pensado para los productos Java, fundado por Sun MicroSystems en el afio.
200.
—————
Iustracién 20 IDE de Netbeans Unidad 1. Autoria:
hup://codigosti blogspot-com/2014/09/intertarsraticarenjava-Pi hte
Una ventaja del uso de NetBeans IDE radica en que al utilizarla se pueden desarrollar aplicaciones de
tipo multiplataforma, independiente del sistema operativo. Permite que las aplicaciones sean
desarrolladas a partir de un conjunto de componentes de software llamados médulos. Un médulo es
un archivo Java que contiene clases de java escritas para interactuar con las APIs de NetBeans y un
archivo especial (manifest file) que lo identifica como médulo. Las aplicaciones construidas a partir de
médulos pueden ser extendidas agregandole nuevos médulos, facilitando que las ya establecidas, solo
tengan que seleccionarla y utilizar la que necesites para agregarla al proyecto,
2.4.4 Tema 4. Control de versiones
Gestién de la Configuracién del Software
Powered by CamScannerLas actividades relacionadas con el desarrollo de software son generalmente muy dindmicas, y los
productos generados altamente susceptibles al cambio. Cuando los cambios son muchos y muy répidos
0 hay mucha gente involucrada en ellos se necesita llevar una gestién dedicada para evitar el
descontrol.
La actividad que se encarga de! manejo de cambios se denomina Gestién de la Configuracién del
Software y se relaciona con la identificacién, control, correcta implementacién y comunicacién a las
partes interesadas de los cambios durante todo el ciclo de vida del software. No confundir con
Mantenimiento de Software, es la actividad que entra en vigor una vez que el software esté en uso.
En el desarrollo de software se producen elementos como: el cédigo fuente, el ejecutable, los
documentos y los datos, las cuales cambian inevitablemente. Las cambios se presentan por distintos
motivos como: por los requerimientos, el dominio de la aplicacién, las funcionalidades deseadas, los
cambios externos al proyecto (modificaciones en el presupuesto o en el equipo de desarrollo), entre
otros. Para una adecuada gestién de los cambios, se debe partir de una linea base, a la cual se llega a
través del andlisis y de consensos formales de los elementos que componen la configuracién,
Los cambios en los elementos deben pasar por las siguientes etapas formales para hacerlos efectivos.
la identificacién, el control de versiones, el control de cambios, la auditoria, el repositorio.
La Identificacién diferencia los elementos y prove un mecanismo para referirse a cada uno de ellos
univacamente y a sus relaciones de dependencia, pertenencia y asociacién. Se acorda una forma de
asignar versiones a cada elemento, generalmente con numeros.
El control de cambios es la designacién de las responsabilidades de las personas involucradas en la
modificacién de un elemento y los procedimientos que se deben llevar a cabo para esta tarea.
La auditoria es la tarea que se encarga de corroborar que todos los procedimientos se han aplicado
correctamente y que los productos obtenidos cumplen con las caracteristicas de calidad deseadas.
El control de versiones es el seguimiento a cada una de las versiones en que se encuentra cada
elemento del mantenimiento de software, mds la posibilidad de observar el historial de modificaciones
que se le han realizado.
El control de versiones involucra procedimientos y herramientas para gestionar los cambios en los
elementos creados durante el ciclo de vida del software. Comenzando por la asignacién de un niimero
de versién para la configuracién de la linea de base, se lleva un registro de las revisiones corrientes €
historicas de cada elemento y del proyecto en su conjunto. Las distintas revisiones de cada objeto se
relacionan formando un grafo de dependencias (significa que para ejecutar la tarea destino debe
ejecutarse primero la tarea del origen) representando la evolucién de este, Esto debe estar organizado
y controlado, estableciendo procedimientos y permisos de acceso para las modificaciones.
El repositorio Es basicamente un rbol del sistema de archivos (directorio), centralizado y controlado
por una herramienta que gestiona los permisos y conexiones para leer o escribir dichos archivos, y
guardar un registro histérico de las modificaciones que se les realizan.
Powered byEl procedimiento de modificacién de un componente consiste, de manera general, en adquirir una
copia local del componente para trabajar en ella. Luego el componente modificado se establece como
una nueva revisién en el repositorio,
EI Mecanismos de control permite un acceso colaborativo al repositorie (modificacién y lectura), las
herramientas del repositorio utilizan diferentes estrategias orientadas a evitar conflictos al compartir
archivos. Estos conflictos se generan cuando dos 0 mas personas trabajan en el mismo archivo, al
terminar la modificacién y querer impactar sus cambios en el repositorio, corren el riesgo de
sobrescribir las modificaciones del otro.
i
5
puesto de trabajo Pusstede trapajo2 —«Puestode trabajo 3
Mustracién 21 Sistemas de control de versiones, Unidad 1. Autoria
8 (stoma de-control. ce.
En la estrategia del modelo bloquear-modificar-desbloquear, el repositorio permite a un solo usuario
para modificar un archivo, primero debe bloquearlo, para cuando otro usuario intente bloquearlo, el
sistema no lo permita y debe esperar a que termine el primero y lo desbloquee. El modelo ocasiona:
Tiempos muertos: cuando se olvida desbloquear un archivo, mientras otro usuario necesita utilizarlo.
Esperas injustificadas: un usuario deba modificar una seccion diferente de la que est modificando el
usuario bloqueante.
Falso sentido de seguridad: en el caso de dependencias entre los archivos, se puede llegar a tener
inconsistencias o deadlocks (interbloqueos).
Estos problemas pueden ser manejados en grupos de desarrollo pequefios y poco distribuidos, donde
la comunicacién por vias convencionales es factible.
FI modelo copiar-modificar-combinar permite que multiples usuarios trabajen simultdneamente en
sendas copias locales del repositorio (working copy). Al momento de actualizar el repositorio con los
cambios realizados, el sistema se encarga de comparar las versiones y combinarlas (generalmente el
usuario participa en la toma de decisiones al respecto). La mayoria de los problemas del modelo
anterior se resuelven utilizando éste, los conflictos en este modelo se dan cuando dos o més usuarios
Powered by @ Camscannermodifican la misma porcién de un archivo. La solucién de este conflicto involucra comunicacién entre
los desarrolladores.
El modelo copiar-modificar-combinar funciona correctamente con archivos de lineas de texto (por
ejemplo, cédigos fuente), pero con archivos binarios (por ejemplo, imagenes, sonidos.) donde no se
tiene una representacién legible de! contenido, la mejor solucién es utilizar el modelo bloquear-
modificar-desbloquear.
wun. youtube, com/watch2v=Z0D6KVAze8kVideo 3 contro! de versiones unidad 1
Sistemas de Control de Versiones
Existen miltiples sistemas de control de versiones, algunos de ellos son: CVS, Subversion (svn),
SourceSafe, ClearCase, Darcs, Bazaar, Plastic SCM, Git, Mercurial, etc. Cada cual, con sus propias
caracteristicas, pero basados en los mismos conceptos.
Los sistemas de control de versiones se pueden clasificar en centralizados y di
ibuidas:
Centralizados: existe un Gnico repositorio de todo el proyecto, del cual es responsable un Unico usuario
(c conjunto de ellos). Se facilitan las tareas administrativas @ cambio de reducir flexibilidad, pues todas
las decisiones importantes (como la creacién de una nueva rama) necesitan la aprobacién del
responsable. Ejemplo: CVS y Subversién
Distribuidos: cada usuario tiene su propio repositoric, no es necesario tomar decisiones
centralizadamente, los distintos repositorios pueden intercambiar y mezclar revisiones entre ellos.
Ejemplo: Git y Mercurial
CVS y Subversién (también conocido como SVN) son los sistemas centralizados de control de versiones,
libres mas difundidos. La arquitectura de subversién se maneja como un sistema cliente-servidor,
donde el servidor admite conexiones de diversos tipos al repositorio.
Los clientes pueden utilizar una interfaz de linea de comandos 0 un cliente gréfico para descargar un
repositorio para trabajar sobre el y publicar sus modificaciones.
Powered by= |
Mustracién 22 CVS y subversiones svn Unidad 1. Autoria
sroom hestala,com /contents/ui/theme/images/eites/4/eontol versiones contralizado-blog-hoztals-ho:tng
2.4.5 Tema 5. Estructura del cédigo
La estructura de un programa de Java es similar a la de un programa de C/C++. Por su disefio, permite
a los programadores de cualquier otro lenguaje leer cédigo en Java sin mucha dificultad. Java emplea
siempre la Programacién Orientada a Objetos por lo que todo el cédigo se incluye dentro de las clases
atributos (constantes y variables) y métados (rutinas).
La clase principal y el método mai
Un programa puede construirse empleando varias clases. En el caso més simple se utilizard una Gnica
clase. Esta clase contiene el nombre del programa, el método principal llamado main (), recibe como
pardmetro de entrada una cadena de caracteres desde el sistema, el método incluye dentro de un
bloque definido por {} a Ia 0 las actividades (instrucciones requeridas para la solucién) del programa,
las actividades se separan entre si por el caracter de punto y coma (;), la estructura de un programa
simple en Java es la siguiente:
Estructura basica de una aplicaci6n:
Cree CE eur a) Dery
Poweredpublic class PrimeraPractical
prea Rede)
Nea LCCC IUy
CCEA Ware MLS
crac
Ere es
ETC ACR
Coury
WU OO OR ICI
ke COU L TCL O Ret s
ard
CO ea a
Peis cr eee ae
PCa aa ett)
“estoy practicando lenguaje java,” y el
Cee en
Ee Oe
Dae
Cet ce eect
partes la primera identifica la clase
public es nivel de visibilidad global,
Nombre de la clase PrineraPractica
{ /Maracter Inicio bloque de la clase
public static void main
{Método publico, estatico llamado main
(string [] args)
parémetro para entrar datos
public class PrimeraPractica {
public PrimeraPractica () {
1] método constructor, mismo nombre de la
dase}
public static void main (String [] args) {
J[estos caracteres son comentario de linea
Powered by
CamScannerhonest ect] [Link]("Hola,
arr)
‘[Link]("practicando lenguaje java,
‘[Link](" Bienvenido"); }}
Tabla 10 Estructura basica de una aplicacién, Unidad 1. Autoria del autor.
En un programa de Java toda instruccién se organiza dentro de las clases y las clases dentro de
paquetes. En el ejemplo, PrimeraPractica es el nombre de Ia clase que identifica el archivo con el cédigo
fuente " java” es la extensién del archivo. Todos los programas o aplicaciones independientes escritas
en Java tienen un método main conocido como principal, con un pardmetro tipo cadena que
proporciona la entrada desde el sistema, contiene un conjunto de actividades (sentencias o
instrucciones). Los conjuntos o bloques de actividades se agrupan entre llaves { } (doble Hlaves). En
PrimeraPractica, el conjunto de instrucciones se reduce a tres actividades agrupadas en el método main
por {}, la instruccién generada por la clase System contiene la subclase out que a su vez agrupa al
método (print 0 printin) encargado de imprimir (visualizar mensaje y/o datos) por el dispositive de
salida (la pantalla). Por ultimo la clase Hola agrupa con las {} lo contenido dentro del main.
Separadores o delimitadores:
Ce ar)
Llave { abierta delimita el inicio principio del bloque de cédigo o clase
Llave } cerada delimita el final termina el bloque de cédigo 0 clase
Corchetes []: juntos abierto y cerrado indican posicién en el arreglo tipo vector.
Paréntesis (): juntos delimitan en un método su lista de parametros si existen
‘como condicionales en pregunta, en expresiones establecen la prioridad y precedencia,
7/ comentario de una sola linea, establecen comentario o documentacién en el cédigo
*/finaliza el comentario o documentacién de mas de una linea
punto y coma’; “delimita la instruccién indica el final de ella en codigo,
Powered byagrupador a los atributos y métodos de una clase. pertenencia
Tabla 11 Separadores o delimitadores, de una aplicacion, Unided 1. Autoria del autor.
Un Comentario es un delimitador se emplean para facilitar la tarea de los desarrolladores de software,
ya que no realizan ningin papel activo en la generacién del cddigo. Los comentarios colocados en el
cédigo fuente de un programa son ignorados por el compilador o el intérprete, se considera
comenetario el texto que se incluya entre la secuencia de caracteres // 0 /* */.
Los archivos fuente deberian comenzar con un comentario documentando 0 que ilustre sobre la
identificacidn de la clase, informacién de la versién, fecha y el aviso de copyright:
/* caracteres para iniciar el comentario
* Nombre de la clase
* Informacién de la versién
* Fecha
* aviso de Copyright
*/ caracteres para indicar finalizacién del comentario de una o varias lineas
Identificadores
Los identificadores son nombres conformados por una cadena de caracteres que se les coloca a las
variables, métodos, clase entre otros, en el cédigo fuente de un programa. Los identificadores sdlo
existen en el cédigo del programa fuente y no en el programa objeto (resultado de la compilacién del
programa fuente). Todo nuevo identificador que se emplee en un programa Java debe definirse
previamente a su utilizacién, Las normas para la construccién de un identificador en Java son’
Powered by CamScannerUn identificador comienza por una letra, un cardcter de subrayado (_) 0 un carécter de délar ($). Aunque
1no se recomienda emplear el cardcter $, otros signos como la interrogacién (?) ol tanto por ciento (%)
ya que el compilador suele utilizarlos de forma interna para crear identificadores propios.
Una caracteristica relevante para el lenguaje de programacién como java es la diferencia entre
maytsculas y mindsculas, por convencién o esténdar, se recomienda identificar un nombre de una
clase comenzando por primera letra mayiiscula, el nombre para el método empezar con el primer
cardcter en mindscula, y las variables segtn previo acuerdo. Ejemplo: easa, CASA y Casa son tres
identificadores diferentes
Pueden incluir caracteres Unicode, con lo que se pueden emplear secuencias de escape /Oxxxx para
representar estos caracteres.
No se puede repetir el identificador de una variable para nombrar otra variable dentro del mismo
cédigo fuente. Excepto: Una variable miembro (definida en la clase) y otra local (definida en el método)
con el mismo identificador.
La sintaxis desde el lenguaje de programacién se encarga de estructurar la forma correcta de expresar
cada elemento utilizado para conformar 0 construir una instruccién, permitiendo su validacién al
momento de interpretar o compitar cada una de sus oraciones antes de llevarla al lenguaje de maquina
(cédigo binario 0 bytecode) y conformar el cédigo listo para ejecutar.
La variable debe declararse antes de usarla, consiste en una instruccién en donde especifique el tipo de
dato y el identificador de la variable. Luego se le asigna valor por tener espacio en memoria. Se
recomienda diferenciar cada uno de los tipos de datos antes de realizar |a aplicacion y tener cuidado al
asignar un tipo de dato para luego recuperarla, los tipos de variables son instancia, u objeto clase local
Las variables de instancia o miembros de dato se usan para almacenar la informacién de los atributos
de un objeto particular.
Las variables de clase 0 miembros dato estaticos son similares a las variables de instancia, con la
excepcién de que los valores que guardan son los mismos para todos los objetos de una determinada
clase. Integer Edad; //sintaxis para declara la variable tipo clase
Las llamadas variables locales se utilizan dentro de la funcién miembro o métodos garantizando la
existencia temporal de la informacién, se declaran y se recomienda inicializarla cuando se requiera.
Edad = new Integer(edad); // asigna valor de a variable nativa edad a la variable objeto llamada Edad
con primera mayuscula empleando el envoltorio Integer con el pardmetro de entrada entre () edad.
int otraedad; = // se declara-suna_—variable nat llamada —_otraedad
otraedad = [Link](); //La variable otraedad debe estar declarada, para recibir la informacion
convertida por el método intValue () que esta contenida en la variable clase Edad tipo Integer.
Una variable booleana se caracterizadas por tener un valor, r True o False (verdadero 0 falso).
La Variable numérica entera contiene numeros positivos 0 negativos, los precedidos por el signo mas
(opcional) son positives, 0 los precedidos por el signo menos son los negativos. Ej : numeros enteros.
Powered byVariables con nimeros decimales contiene informacién del tipo float o double (coma flotante) se usan
para guardar en memoria nimeros que tienen una parte entera y otra parte decimal. Ej numeros reales.
La parte entera es una aproximacién del nimero real, continua el punto decimal (.) separa la parte
entera de la decimal (fraccionaria). La escritura tiene una notacién cientifica 2.9979*10E8 equivalente
2 299790000. El exponente (10E8) minimiza 0 maximiza la cantidad de ceros.
Valor constante son némeros declarados una variable de tipo final, durante la ejecucién no se
modifican, se inicializa y cualquier modificacién ocasiona un error en tiempo de compilacién.
Normaimente, las constantes de un programa se suelen poner en letras mayiisculas © acompafiadas
del guion bajo, para distinguirlas de las que no son por concepto de esténdar.
La forma de escribir los identificadores en Java no est normalizada, se dan algunas recomendaciones
para la elecci6n de estos identificadores:
Es conveniente utilizar identificadores autoexplicativos (significativas) para orientar al usuario 0 a
cualquier otra persona que accede al cédigo fuente de un programa sobre lo que representan, sin
necesidad de utilizar los comentarios en el propio cédigo fuente. Por ejemplo, Al almacenar el valor de
la edad de una persona se nombra la variable al declararla como edad (int edad; y no como int e:)
Sielidentificador se compone de més de una palabra, éstas se agrupan y después de la primera el resto
comienza con una letra mayuscula, como, por ejemplo: mayorEdad, calcularPromedioEdad.
El signo de subrayado 0 guién bajo se acepta en cualquier identificador, pero por convencién sélo se
‘emplea para separar palabras de un identificador constante (por convencién las constantes se escriben
completamente en maydsculas, facilitando la separacién de los nombres). Por ejemplo, una constante
almacena un némero real, que representa el mayor salario de una empresa con los que trabaja el
programa se podria declarar el identificador de la constante SALARIO_MAYOR_EMPRESA.
Ej public static final double SALARIO_MAYOR_EMPRE!
\ocoo0000;
Una palabra reservada no puede ser empleada por el programador al momento de nombrar un dato
en el cédigo fuente como identificador para otros usos. Por ejemplo, la palabra reservada double se
utiliza para definir un tipo de dato real (fraccionario) y la palabra for se usa para una estretura ciclica.
Palabras reservadas en java:
Bcaeics cr ace Poet]
i foe ewe | wom |
Powered byones
Tabla 12 Palabras reservadas empleadas en java, Unidad 1. Autoria. el autor
Operadores son signos © palabras reservadas (claves) del lenguaje utilizado para realizar operaciones se llaman
operadores, estos al combinarse con variables, canstantes, valores literales o el retorno de un método forman
una expresi6n. Muy itiles en el desarrollo del lenguaje de programacién
Java proporciona algunos operadores, se usan seguin ja necesidad, y Ia funcionalidad requerida.
Operadores en Java:
Cs Drees) Curry
Er
Multiplicacién public class OperacionesAritmeticas {
A=A‘1;
Powered by‘Adicién (suma)
A=AH
Utila un solo operando
para
negar valores,
dar valor positive
Incrementar en 1
Ate
decrementaren1
he
lnviertir un estado
public static void main (String [J args) {
Int
int b = 10;
String x= "Operador’, y = "aritmetico";
MH Operador + y -
System. out printin("a + b= "+ (a + b));
System. out printin("a -b="+ (a -b));
// €l operador + si se usa con strings
[I concatena |as cadenas dadas.
[Link]("x-+ y="#x+ yi} )
public class Operadortnario {
public static void main(String{] args) {
// definicién de cada una de las variables
int a=20,b=10,¢=0,d=20,e=40,
30;
boolean condition = true;
System out printin("Valor de a inicial ="
+a);
// operador de pre-incremento
//a a4 yentonces ¢ =a;
cat
System [Link]("Valor de c pre-
incremento(++a) = "+ c);
// operador de post-incremento
// cb entonces b=b+l (b pasa a ser 11)
cobHy
Powered by
CamScanner‘sah Sante
ANNES
“Seater
Eh enki Oe RMR VIB =
Seo aga merc ethpensrasnaNe
Coy
()
ont}
a/b(a-a/b)
Peace s))
Multiplica y asigna
Divide y asigna
Modulo y asigna
System. out printin(*Walor de ¢ post-
ineremento(b++) =" +c);
J operador de pre-decremento
Uf d=d-1 entonces c=d
c=~d;
System. out printin("Valor de c pre-
decremento (~d) ="+ ¢);
J operador de post-decremento
Uc=e entonces e=e-1 (e pasa a ser
System. [Link]("Valor de c post-
decrementole~)=" +c);
1/ Operador légico not
System. out printin("Valor de !condition
"+ leondition);
n
La sintaxis para la asignacion es, variable
para sumar el operando izquierdo
con el operando derecho y luego
asignario a la variable de laizquierda. A+
B(A=A+B)
+ para restar el operando izquierdo
con el operando derecho y luego
asignarlo ala variable de la izquierda. . A-~
B(A=A-B)
* =, para multiplicar ef operando
wierd con el operando derecho
Powered by
CamScannerQed Grd se Yeton geese
ont eet ie
exh Ag9EB 40-0"
Tuego asignandolo a la variable de la
lequierda, . A* = B(A=A"B)
‘/ =, para dividir el operando izquierdo
con el operando derecho y luego
asignarlo a la variable de la izquierda. . A/
= B(A=A/8)
% =, para asignar el médulo del operando
izquierdo con el operando derecho y
luego asignario a \a variable de la
inquierda,. A% = B[A=A%8)
‘= , para aumentar la potencia del
‘operando izquierdo ai operando derecho
‘yasignario a la variable de la izquierda.
public class OperadorAsignacionEspecial {
public static void main(String{] args) {
inta=20,b=10,¢,d,e=10,f=4,g
9; // operador de asignacién simple
3; [Link]("Valor de c
"4d;
//\a siguiente declaracién presenta una
exception
// el valor del operando derecho debe
ser inicializado
Mantes dela asignacion ——_/f
H operadores de asignacién simples
#2 4-1/
system. [Link] ("a,be,f="+a+
be" eer" +f)
aza-1; b=b+1;
/operados de asignacién
compuestos/cortos
ast; b
[Link] ("a,b,e,f (usando.
operadores cortos)=
ae attebent ere) )
Powered by
CamScannerCorer
Tees ucey
Comparar datos
Igualdad: verdad
‘No igual verdadero
menos que izq <=V
menor o igual que
Mayor que:laq> V
Mayor que o igual a:
operaciones AND, NOT,
ldgicas OR»
Retorna verdaderos
0 ldgico:
negacién del operando
sintaxis (variable operador_relacion
valor) ej (a b "+ (a>b)};
System. out printin("'a >= b:" + (a >=B))
System. [Link]('a I= b:" + (a l= b));
// Los Arrays no se pueden comparar
con
// operadores relacionales porque los
objetos
{[almacenan referencias, mas no el
valor
System out printin("x«== y:" + (ar
bel
System. [Link] (*condicion==true :* +
(condicion==true)]; }
légico: cuando ambas condiciones son
verdaderas
||, 0 logico: devuelve verdadero si al
‘menos uno es V
si cada uno es true, es un and
si al menos uno es true, es un or
CamScannerTabla 13 Operadores en java, Unidad 1. autoria..
itp lavadesdeces
Tipificacién de los datos.
Determina la caracteristica del tipo de informacién a almacenar en el espacio de memoria especificado,
se identifica teniendo en cuenta el dominio, el tipo de dato, el contexto donde se emplee y la
asics
import [Link] Scanner;
public class operadologico{
import java,[Link]; // importa la
clase Scanner desde el paquete uti
public class OperadorLogico {
public static void main(String] args) {
String x="Fundamentos"; String y=
“a;
Scanners = new Scanner([Link]);
System. [Link]("Ingrese usuario:
Fundamentos");
String usuarioid = [Link]();
System. [Link]("Ingrese contrasefia:
111");
String contrasena = [Link]();
UVeriicar si nombre de usuario y
contrasefiacoinciden
if (([Link](x) &&
[Link](y))
| ([Link]) &&
contrasena equals(x))
(
System. out printin("Bienvenide usuario.”
+ usuarioid);
)
else
{ [Link]("ID 0 Contrasefia
equivocada"); }) )
eradoreseniva-siemolo
persistencia donde se aplique. Existen los tipos de datos Nativos y los Clase.
Powered by
CamScannerLos Datos natives El tipo de dato nativo (llamada tradicional o primitivo) no est organizado en clase (
sin orden jerérquico) se caracteriza por ser tradicionales en la programacién de los lenguajes (no
objetuales), pero en el desarrollo de la metodologia objetual cumplen un papel muy importante
realizan las operaciones aritméticas y combinan sus funciones con las clases envoltorios numéricos
determinando el uso de espacio de memoria disponible para cada uno, se describen algunos tipos de
datos nativos y su respectiva capacidad en memoria,
Tipos de datos nativos:
et) Dt a ere cio ee od
Numérico entero de 8 bits. -127 hasta 126
Numérico entero de 32 bits. -2147483648_hasta 2147483647
Numérico entero de 64 bits. -9223372036854775808 hasta
9223372036854775807
Numérico decimal de 32 bits 1.40239846e-45f hasta 3.40282347¢+38F
coma flotante simple precision.
Chel) 9] Numérico decimal de 64 bits. 4,94065645841246544e-324d hasta
coma flotante doble precision 1.7976931348623157¢+308d
Cir _| Carécter Unicode de & bits 0 (B
| Grupo de caracteres (Bytes) ((A“) 0 (" dato“)
CeJeu | valor de comprobacién Rango true o false.
Tabla 14 Algunos tipos de datos y su capacidad de memorias, Unidad 1. Autoria del autor
Los tipos de datos nativos se caracterizan por que sus nombres empiezan con una lectra mindscula,
excepto el tipo String que inicia con “S” mayuscula por ser el estandar para una cadena.
Los nativos se declaran especificando el tipo de dato de acuerdo con Ia sintaxis y se inicializan
asigndndole un valor apropiado para su uso, se puede realizar en una o en dos instrucciones, asi
Primer caso: int aa=0; // se declara e inicializa la variable llamada aa se le asigna un valor de cero.
Segundo caso: int dato; // primera instruccién, se declara la variable llamada dato
dato=10; // La segunda instruccion se le asigna a la variable llamada dato el valor de 10.
Nota: En cada caso la instruccién debe terminar en punto y coma (;)
Powered by
CamScannerAsignacién de variables tipo nativa:
Pic Dre ata
recy // declaracién de una variable tipo numérica entera nativa llamada edad.
Cre // Se inicializa la variable nativa llamada edad con un valor numerico de 20,
GS // Se declara y se inicializa la variable numérica entera llamada x con valor de 10
Curie i //Se declara y se inicializa una variable tipo cadena o string llamada nombre con
ea el dato de “Pedro”
Cae
eon
String caden = new String ("textos");
cei c | // declaracién de una variable nativa tipo numérica flotante llamada precio
//Se inicializa la variable tipo numérica flotante llamada precio con el valor de
333
Tabla 15 Asignacién en varfables t)p0 native, dederacion yesignacion, Unidad 1. Autara del eutor
Los Datos tipo clase el tipo de dato clase recomendado y reconocido por Ia jerarquia del paradigma
orientado a objeto, posibilita la conversién de tipo, pasando de uno tipo especifico a otro segin la
estructura y los métodos de la clase envoltorio, encargada de realizar la conversién de tipo, partiendo
del tipo de dato clase cadena (String), es el estandar para el acceso (flujo) de datos para el proceso de
la aplicacién,
Las variables que pertenecen a la clase, adquieren los atributos, la identidad y los métodos por ser
objetos, facilitando la conversién a cualquier tipo de dato nativo, segin la clase envoltorio a la que
corresponda, haciendo la combinacién correspondiente teniendo presente que el flujo de datos es de
tipo cadena. (Nota el primer caracter del tipo de dato clase debe estar en mayiscula). La forma de
utilizar la sintaxis seria en dos pasos:
primero Tipodedatoclase nombredevariableClase;
Powered byInteger entero; // declarar la variable tipo clase llamada entero.
Segundo nombredevariableClase = new Tipodedatoclase (DatoCadena);
entero= new Integer ("25"); // Para instanciar se utiliza el operador new (separa espacio en memoria)
por medio de! método convertidor de la clase Integer convierte la cadena recibida a numero Integer y
le asigna valor de 25.
Se combinan la declaracién y Ia instancia:
Tipodedatoclase nombredevariableClase = new Tipodedatoclase (DatoCadena);
Integer entero= new Integer ("25"); // se declara y se instancia (emplea el operador new) usa el
convertidor que recibe como parémetro de entrada la cadena "25".
Otra forma. byte numer
integer. parseByte("22");
/fla variable nimero nativa recibe un némero convertido por el método parseByte que pertenece a la
clase Integer (una cadena “22" se pasa a nimero 22}
Un tipo de dato clase debe realizar declaracién e instancia para definirlo, o combinar los pasos
(Geclarar e instanciar). La declaracién requiere el tipo de dato clase, el nombreVariable (\lamado
objeto) yel punto y coma.
Para instanciar (inicializar) el objeto se requiere primero el operador new quien solicita espacio en
memoria a utilizar, segundo el método constructor del tipo de dato clase (método con el mismo
nombre de la clase, pero con parametro para recibir informacion) encargado de convertir la
informacién cuando no sean cadena, el tercer paso llava o asigna la informacién a la variable,
La clase cadena es llamada intermediaria por que permite el acceso a la informacién, para luego ser
convertida al tipo de dato nativo o tipo clase respectivo.
Cuando la clase emplea o requiere un método, se coloca un punto (,), indica dependencia del método
alla clase (pertenece 2 la clase) quien hace la conversién a la clase, por ultimo se asigna el dato.
Se recomienda llamar la variable tipo clase con el primer caracter en mayuscula o anteponerle e|
termino obj al nombre de variable, para diferenciarla del tipo nativas,
Asignacién de variables tipo clase:
Parc Decay
ear // declarala variable identificada como Edad, tipo clase.
Powered byCec cag na la cadena entrada como parémetro a la variable llamada Edad, por
eon medio del método envolvente de la clase Integer y el oerador new.
ocd // la variable nativa otraedad, recibe el valor almacenado en la variable
Either): | objeto Edad aplico el método convertidor intValue () de la clase Integer.
ie uc Jeutec| // declaracién de un objeto variable tipo clase identificada como objentero
Coeueueucn) | //Se asigna valor almacenao en lavariable nativa edad a objentero, e!
sary operador new separa memoria para almacenar el dato convertido en clase
Cees // forma de declara una variable para entrar datos tipo clase Scanner
tend // forma de instanciar la variable llamada captura esta recibe dato desde el
Seyi; uru)s | exterior por medio del sistema(ingresa datos desde el teclado).
Tabla 16 Sintaxls declaracion y asignacion de variables tipo clase, Unidad 1. autora del autor.
String cadenaedad = "35"; //declara una cadena y la inicializa o le asigna un valor tipo cadena “35”.
int edadnueva= Integer parseint(cadenaedad); // se lleva el dato “35” en cadenaedad, este pardmetro
de entrada del método parseint perteneciente a la clase envoltorio Integer a edadnueva.
Para capturar datos desde el teclado se emplea la clase Scanner quien utiliza un parémetro llamado
System, La clase System se utiliza para manejo de informacion del sistema entre sus métodos se
destacan dos: el método .in para capturar informacidn del sistema (teclado) y el método .out para
imprimir la informacién en la pantalla generalmente muestra mensaje acompafiado de datos.
Scanner captura; // forma como se declara la variable tipo clase Scanner entra datos desde teclado.
captura= new Scanner ([Link]); //se instancia la variable clase y se asigna dato desde el teclado
[Link] printin (“digite una edad por favor:") ;// un mensaje de orientacién al usuario, emplea la
clase System que contiene a la subclase out para salida de informacién contiene el método printin
(imprime y salta de linea) con un parémetro tipo cadena (mensaje), termina en punto y coma (i).
int ed= captura, nextint () ;// se declara la variable identificada como ed y se le ingresa informacién
desde la clase captura tipo scanner, utiliza el método netxint () que no contiene pardmetro y se encarga
de convertir la informacién almacenada en captura tipo clase en un niimero a entero tradicional.
[Link] (“La edad almacenada es:” + ed) ;// se muestra la informacién almacenada en la
variable ed, el signo “+” dentro del método de impresién significa una unién (concatenacién) del
mensaje entre “” y la informacién almacenada en ta variable ed.
Powered byimport java. util. Scanner; // importamos el paquete Util para la clase Scanner y leer desde el sistema
public class nombredelaclase {
//método principal para iniciar 0 ejecutar la aplicacién
public static void main (String [J arg)
{
int base ;//declaramos la variable tipo entero
System. [Link](“‘digite el valor para la base”);
‘Scanner captura= new Scanner ([Link]};
base=captura, nextint () ;// se captura el valor con el método convertidor entero y se asigna a
la base forma externa
‘System. [Link]{"\n la b ase es \t" +base); // se imprime o muestra la informacion
}
Se presentan los tipos de datos clases, su descripcién y el procedimiento correspontiente a la clase
envoltorio para intermediar con algunos tipos de datos natives no deje de notar el primer caracter en
mayiiscula, el punto indica que pertenece a la clase y luego el método con el parémetro de entrada.
Tipos de datos clase
MO Peas) Bee ae)
awe es
ns buna
= one
Dood Numérico con punto flotante [Link](cadena
Float Numérico n punto flotante [Link](cadena)
ae Vere of
ec [Link]()
Powered byTabla 17 Algunos datos tipo clase, Unidad 1. autoria. autor
Existe la posibilidad de definir unos tipos de datos especiales los cuales son creados por el
programador, pero estén dentro de una estructura como son las clases, la interfaz y las bibliotecas.
Lainici in de una variable corresponde a establecer un estado diferencidndolo de las demas y su
duracién depende del tipo de almacenamiento, por sintaxis primero consiste en definirle un nombre
segiin el tipo de dato, segunda instancia mediante conjunto de valores, tercero por los enumerados,
POET CUR s SSL TCC) POSE URC PCL
eee eed fo ee
Uren double PI=3.14159; final double
Pl=3,141592653589793;
Uc 5 double PI=
3.141592653589793;
eat int Nrodeelem =10; final int Nrodeelem =
Coen final boolean estad
true;
String Cadenumero; nu=nus1;
Tabla 18 Caracteristicas de algunas variables, Unidad 1. autoria. autor.
Existen estructuras que realizan actividades en una aplicacién segiin un orden establecido o requerido
por el desarrollador ademés de las de secuencias lineales tradicionales, estas son las estructuras
condicionales, las cicicas y las recursivas entre otras.
Las estructuras condicionales (control) validan una determinada condicién, Esta puede ser simple 0
compuesta. Entre estas estructuras tenemos la pregunta y el selector multiple: if, switch.
Control condicional:
Estructura de control condicional ren
Powered byif (condicién) // condicién valida una expresicn (logica )
{ //inicio de bloque condicional
actividad o actividades;
} I/fin del bloque condicional
if (condicién) // la condicién valida una expresién
{/finicio de bioque verdadero
actividad o actividades;
r // fin del bloque verdadero
else _// representa el otro caso del condicional
{ // inicio del caso contrario
actividad o actividadesdelcasocentrario;
} //fin del bloque contrario
if (condicion)
actividad;
else
actividad;
if (nota>=3,5)
{
[Link]("Aprobado");
Jelse
{_System.out printin("No aprobado");
import [Link];
public class Pregunta {
public static void main(String{] args) {
double nota=1.0;
Powered by CamSeannerRarer)
et eee team acy
ee Cat eecacay
eae geen Neen
Pen eae eect)
r
Cerone
Poo
rg
Peet
Seay
System out printin(” Se valida una nota entre 0... 5."
‘
[Link].printin_("ingrese una nota por favor: con
‘coma decimal ");
‘Scanner s = new Scanner(System in);
nota= [Link]();// convierte entrada en numero
real
System out printin(" el informe segin la nota es.
if (nota>=3.5)
in
[Link] print("Aprobado");
‘[Link](" alta ")
Mfin2
else
us
‘[Link]. printin(" menor que 5");
Vitin 3
Vifin
else
ua
[Link]("Suspendido”)
Vitin a
public class ControlCondicional {
public static void main(String{l args) {
int opcion=4 ;// dato de comparacion
[Link](" Se valida el estado civil con
[Link]
("ingrese estado civil: 1 casado 2: soltero 3: separado
4; viudo 5: otro :");
‘Scanner s = new Scanner([Link]);
opcion= [Link]();// convierte entrada en entero.
String estadocivil
switch (opcion ) // valida el estado civil entre 1 y 5
Powered by
CamScannerbreak;
eee er
eee re es
Peo
Een
}
AA a eR cy
Cece oRe eg
Ce ee cet
estado civil entre 1 y 5 : “1 casado 2:
PER eC Ein eee
Tabla 19 Estructuras de contr
{
case 0: // valida 0
estadocivil=" no especifica"; break;
‘casado",
case 1:// valida 1 estadocivi
case 2 : // valida desde el 2
estadocivil="soltero";
break; // indica salto de bloque termina la secuencia
case 3: estadocivil=" Separado"; break;
break;
case 4: —_estadocivil="viudo";
case 5: estadocivil="otro"; break;
default: // referencia al caso contrario
estadocivil=" Error, la entrada es mayor de 5";
W/ fin del selector
System [Link](" E! estado civil seleccionado es :"
+estadocivil); }}
break;
niaic ce Ni kG
st
1, Unidad 1 Autoria
bntps:/focw-unican.e/[Link]/253/course/section/228/<[Link]
CamScannerLas estructuras repetitivas (ciclicas) realizan una determinada actividad o actividades un numero de
veces conocido o no establecido dada una condicién. Entre ellas tenemos: ciclo mientra que, ciclo haga
mientras que y el ciclo para (while, do-while, for)
Estructura de control ciclico:
Estructura de control ciclica ees
COR Ome ‘while (condicion) {
Valida una condicion e ingresa al ciclo
ene eed actividad o actividades (es);
Cee eed 1
Ceo ui
int public class SumaMayor100 {
* Realizar una aplicacion que calculeel primer aie tar anu IE a)
eer ee is
anteriores sea mayor igual que 100 1
1 int suma
while (sumax=100
4
ines
ssumassumat;
1
‘[Link]("La suma de i=1,"si+" es "+suma);
Hr
poco ehca Saas js |
CamScannerCOR eM cay
pres ec eka
eC
valornumericoinicial: el inicio del ciclo;
Cee ecu ea ed
Se CM ee
utr)
Cee te ee oe ae)
Peete cee
Pee mer ec er ed
See ee ue oa ec
er
Po ocucniny
while (condicionlimite)
r
Een
ee ease
it
Tabla 20 estructura de control ciclico U
‘actividad (es);
‘while (condicion); // observe la condicién termina (;)
sintaxis
for (valornumericoinical; condicionlimite; expresion-
incremento)
{
actividad (es);
}
int suma=0;
for (int i21; ie=10; +4) {
suma=sumati;
}
int suma-0;
int iea;
while i<=10) {
i++; // esta estructura unaria equivale a i= i+
dad 1 Autor
ntps/ocwunican.e/plugnile php/253/course/section/228/caps-algortmos pat
El Salto de ciclo: es una érden (palabras reservadas) permite salir o saltar el bloque de actividades
(procesos) establecidas dentro de un ciclo, entre los més comunes tenemos break, continue y return.
break: - termina el proceso del ciclo.
CamScannercontinue: - termina las actividades contenidas dentro del ciclo, pero sigue en él
return: - termina un método; si estamos dentro del ciclo, sale del ciclo terminandolo.
Estructuras de clases La implementacién en un lenguaje de programacién esté ligado a la metodologia
puede ser estructurada u objetual las mas comunes para nuestro caso es importante establecer la
estructura correcta para describir sus elementos logrando no presentar errores de forma, primero se
define un proyecto con su respective identificador y ubicacién en un dispositive ( pc 0 usb) dentro de
uno 0 mas paquetes con su identificacién respectiva con el objetivo de agrupar y clasificar la o las
clase(s) con sus atributos y métodos se identifica con el primera cardcter en maydscula con el objetivo
de estandarizar el nombre, entran otros archivos como los proporcionados por las importaciones
respectivas adicionadas al conformar la aplicacién. La clase es un elemento fundamental de la
orientacién a objeto, se describen algunos de sus elementos tanto para una clase sin método principal
‘como para una clase con método principal encargado de la ejecucién de la aplicacién en el siguiente
cuadro de Estructuras de proyecto y de clases,
Estructura de clases:
Stetina acre) CR Rene)
método main() método main()
Paquete import [Link]"; [[zetracd Paquete
Importaciones
eso uric Lree import [Link].*;
public class nombredeclase {
Ae ea ey public class Principal {
I lista de atributos con tipo
public static void main
private String nombre; (String {] args) {
private int edad;
// lista de variables locales
// métodos
MMlista de objetos si existen
public nombredeclase () ()
/*desarrollo de actividades con
public void mostrarnombr (){} | menu de actividades o interfaz*/
Public String capturanombr } }
i
public static int captura (String
public String getNombre (}{}__ | mensaje) {)
Public void setNombre (--){}} | public static void mostrar (String
mensaje) {
[Link](""+#mensaje):
Powered by
CamScannera
Tabla 21 estructura de un proyecto y una clase en java, Unidad 1, Autoria del outer.
La Estructura modular otro elemento fundamental de la metodologla orientada a objetos donde se
especifica la accién de la clase, se compone de sels partes, cada una cumple una funcién: la primera el
alcance o la visibilidad) puede ser publico o privado, el método que solo sera visto por los elementos
de la clase , la segunda el tipo de clase describe sies estatico sea método independiente de la clase en
otro caso es un objeto perteneciente a la clase por ende no requiere ser especificado, tercero el tipo
de dato de retorno involucra la tipificacién especificando si es tipo de dato nativo 0 tipo clase y
caracteriza el método como funcién por tanto debe retornar un dato de igual tipo y seré procedimiento
sin retorno sies tipo de dato void (vacio) exclusivamente , cuarto el nombre del método identificador
que para el esténdar debe iniciar en mindscula, el quinto la lista de pardmetros entre paréntesis, cada
uno si existe debe tener su respective tipo de dato si tiene mas de uno debe separarse cada uno coma
", “'y por ultimo el delimitador de principio y final de bloque en donde se registran las actividades
respectivas {}
Estructura del método:
Poneieep ine Nc Neon cs
Pees ee)
CC ease Lid
BU Rar CL)
pee act
I) métodos
se reccrs 4 public static void main(String(}
VECO) Public nombredeclase(){} args) {
Series Public void mostrarnom(){} | // lista de variables locales u
} abjetos si
public String capturanombr()(}
existen , actividades con un
public String getNombre()(}_ | menu de
Public void setNombre(--}(} | actividades o con interfaz }
} public static int captura(String
public void mostrarnombr(}{} | mensaje){)
public String capturanombr(){) | public static void mostrar(String
public String getNombre(}} | mensaje}{
public void setNombre
Powered by
CamScannerpackage paqueteuno; [Link](""+mensaje);
public class Principal {public | }}
static void main(String! args)
{ System, [Link]
(" BIENVENIDA"
‘[Link] printin( " Inicia
programacion en java");
[Link] printin{ "realizado
por ——-A");} }
Tabla 22 Estructura de un metodo, Unidad 1, Autora del outer
El campo es un identificador de variable con caracteristica especifica de tipo, encargado de separar
espacio en memoria, tiene la posibilidad de definirse como agrupador, estableciéndolo como una
especie de registro, llegando a una estructura de almacenamiento de datos con la peculiaridad principal
de permitir diferentes tipos de datos si es necesario.
2.5 RECURSOS
2.5.1 Documentacién Referenciada
Tema Enlace URL Tapedicacion
e Paginas o|
Instruciones
electra
3 _ | [Link] eclipse or Descargar
[Link] Eclipse
[Link]
[Link]
2.5.2. Material adicional
Teme Enlace URE Tapediicacin de Piginas 0
Instruciones de lectura
3_| htto:/[Link] Descargar NetBeans
Descargas... [Link]
[Link]
4 _| [Link] files. [Link]/2010/09/control-de- Control de versiones
[Link]
5_| htto://[Link]/pluginfile,php/1042/mod label/intro/2- Estructura del
[Link] programa
Powered by2.6 EJERCICIOS DE PROFUNDIZACION
Ee ane cc
reese aed
Cee eee i
Cart eo
nd
Oa eu uted
Reece ee ay
Preece g
Sa)
main(String[] args) {
A nec
SECU una
[Link]
eu EEL
Becca
Cree
[Link] ("Hasta
Poa
Py
Tabla 23 Profundizar en manejo de mensajes y capture de datos, Unidad 1
Pou
Pere ae
Dee ced cad
Ree Ouse)
eee Rue ance
package libro javaafondo;
import [Link] Scann
public class
HolaMundoNombre
{
public static void main(String()
args)
// Scanner, clase que permite
leer datos desde el teclado
// mensaje para el usuario
Scanner leer;//declara
System. [Link]("ingrese su
‘Scanner([Link]); //
instancia usa el constructor
String nom = [Link]();
// muestre un mensaje y el
nombre leido
‘[Link]("Hola
Mundo: "+ nom}; } }
Realice una aplicacién en java, se
Pete ee
Pores ee M
peed et nes eee
package libro javaafondo;
import [Link];
public class HolaMundoDatos {
public static void main(Stringl}
ares)
// Mensaje para el usuario
‘[Link] print("Ingrese nombre
‘he
‘Scanner scanner = new
‘Scanner([Link]);
Jf \eemos el nombre
String nom = [Link]();
System out print("!
leemos la edad
it edad= [Link]();
‘[Link]("Ingrese altura:
//\eemos la estatura
double altura =
[Link]();
// mostramos datos por
‘[Link](" El
Nombre es: " tnom+ "la Edad es:
“edad +
"la Estatura es: "+altura); })
Powered by
CamScanner2.7 PISTAS DE APRENDIZAJE
ustracién 23 Pista para fundamentos de programacién Unidad 1
Autoria: [Link]
‘© Los sistemas no responden a las expectativas de los usuarios.
+ Los programas “fallan” con cierta frecuencia.
“Los costos del software son dificiles de prever y normalmente superan las estimaciones.
Normalmente, es dificil cambiar de entorno hardware usando el mismo software
Las variables booleanas caracterizadas por tener un solo valor el cual puede ser True o False
(verdadero 0 falso)
Variables enteras cualquier combinacién de cifras precedidos por el signo mas (opcional), para
{0s positivos, o el signo menos, para los negativos.
Variables con decimales del tipo float o double (coma flotante) se usan para guardar nimeros
‘en memoria que tienen parte entera y parte decimal.
Powered by
CamScanner3 UNIDAD 2. PROGRAMACION ORIENTADA A OBJETOS
3.1 OBJETIVOS
3.1.1 General
Aplicar los elementos y caracteristicas de la Programaci6n Orientada a Objetos en ta creacién de
productos de software eficientes, robustos y mantenibles en el tiempo.
3.1.2 Especificos
‘+ Identificar los elementos del paradigma de la programacién orientada a objetos.
© Describir las caracteris
objetos.
15 fundamentales y secundarias de la programacién orientada a
+ Aplicar los conceptos de clases abstractas e interfaces, realizar ejercicios que permitan el
andlisis y la compresi6n de los principales patrones de disefio y su representacién.
‘© Describir los conceptos que permitan manejar los diferentes tipos de errores en el proceso
de desarrollo del software.
3.2 RELACION DE CONCEPTOS
Ilustracién 24 Relacién de conceptos (mapa conceptual) Unidad 2. Autoria del autor.
Programaci6n Orientada a Objetos: forma de desarrollo mas comtin en la actualidad, enfoca en los
conceptos relacionados con la realidad (objetos), caracterizada por la reuttlizacién de codigo.
Powered byElementos de POO: metodologia que maneja los siguientes componentes objetos, clases, herencias,
jerarquia, ocultamiento, interfaces y a paquetes.
Clase: es un proceso abstracto, una plantilla (molde) donde se crean y administran objetos.
Objeto: es una entidad fundamental de la programacién orientada a objeto contiene pardmetros y
atributos que interactua directamente con los métodos.
Método: es el algorit mo, secuencia de instrucciones lgicas asociadas al objeto, es identificable y define
el comportamiento que se desea aplicar para el desarrollo sobre el objeto.
Evento: sucesos generados para crear un objeto, ocasionados por un usuario en una interfaz grafica,
Mensaje: comunicacién dirigida 2 un objeto
Caracteristicas de la POO: especifican los elementos diferenciadores de la metodologia con respecto
aotra.
Elementos principales: (fundamentales) son excluyentes permiten diferenciar especificamente la
metodologia 00 de la procedimental.
Elements secundarios: son no excluyentes presentes en diferentes paradigmas metodologicos,
fortalecen (aportando y respaldando) especialmente con los tipos de datos nativos y los de clase.
Paquetes: estructuras que agrupan clases caracterizadas por su gran organizacién, su capacidad para
incorporar el modularidad, el ocultamiento, calidad e integridad al desarrollo de software.
Clases abstractas: objeto real o abstracto susceptible de programar, con atributos y métodos, tiene
minimo un método abstracto.
Interfaz: agrupacién de métodos abstractos con propiedades constantes donde se dice el que hacer,
ero no el como se realiza la funcionalidad ademas es no instanciable.
Excepciones: controlador de interrupciones (situaciones anémalas), valida errores en el desarrollo de
la aplicacién su uso tiene mayor efecto en el flujo de datos.
Tipos de excepciones: las comprobadas (checked) al momento de compilar el método controlada por
el desarrollador y las no comprobadas (unchecked) situacién excepcional producidas en el método y
detiene la ejecucidn de la aplicacién.
Powered by3.3 PRESENTACION DE LA UNIDAD
Se darén a conocer los diferentes elementos del paradigma de la Programacién Orientada a Objetos
(POO) como clases, objetos, atributos, métodos, visibilidad de elementos,
entre otros. Se crearén aplicaciones que permitan solucionar problemas del
mundo real.
Junto con los elementos, las caracteristicas o pilares, de la Programacién
Orientada a Objetos, permiten desarrollar productos de software complejos a’
manteniendo el cédigo mas claro y cercano a como se expresarfan los
‘objetos y su comportamiento en la vida real.
En el paradigma POO es conveniente el uso de clases abstractas cuando se
esté disefiando una jerarquia de clases, se usan como base de dicha
Jerarquia ya que de ellas se pueden heredar sus elementos, pero nose
pueden instanciar. La interfaz se utiliza para disefiar elementos abstractos
con solo sus procedimientos siendo un factar comtin entre objetos que no
tengan relacion,
Tlustracién 25 Presentacién de la
Con las excepciones se realizaran explicaciones y ejercicios que validen
los diferentes tipos de errores de sintaxis semanticos que pueden ser
detectados y corregidos en el proceso de desarrollo del software
3.4 DESARROLLO TEMATICO
3.4.1 Tema 1. Elementos de la programacién orientada a objetos
ORIENTADA A OBJETOS
Ilustracién 26 Descripcién gréfica de Programacién Orientada a Objetos Unidad 2. Autoria:
buapsL/dev to/ushiecu/orogramacion-orentada-a-obietospa0-3f)
Programacién Orientada a Objetos:
Powered by CamScannerEsla forma de desarrollo mas comiin en la actualidad, se inicié a finales de los afios 80's, y sigue vigente
por su gran cantidad de herramientas, su principal caracteristica es la reutilizacién de cédigo, situacién
que permite hacer de la programacién mas corta y eficiente que cualquier otro método de desarrollo.
La programacién orientada a objetos en java introduce 2 objetos, clases, herencias, jerarquia,
ocultamiento, interfaces y a paquetes. Se enfoca en los conceptos relacionados con la realidad,
simulténeamente aporta la introduccién para la aplicacién del lenguaje de programacién de java.
Tustracién 27 Programacién Orientada aObjetos en java Unidad 2. Autorfa:
mponentes-de-asgrogramacon-orenta-obisasBsnsf-APaWBASEAWSHDALC IducT&7EOY ud
Componentes de la programacién orientada a objetos:
La programacién orientada a objetos es una metodologia que para su correcto uso debe conocer los
conceptos basicos y la aplicacién de sus componentes, dentro de los cuales podemos mencionar.
Ilustracién 28 Componentes de la Programacién Orientads a Objetos en java Unidad 2. Autori
Powered by @ Camscannerhttps: //[Link]/arogramacinovientade-s-obistos-concepte-pos-formaud
[Link]
/ideo 4 Programacién Orlentada 2 Objetos Unidad 2
Clase: es un proceso abstracto, una plantilla (molde) donde se crean y administran objetos, se
determina cuales caracteristicas y procedimientos debe tener dentro de la programacién orientada a
objetos, contiene recursos y distribuye los procesos de manera adecuada
Recursos y procesos en la POO:
Cea Pence)
Clase Computador | public class Computador {
String procesador , color;
Atributos: int memoriaRam , pantalla;
String procesador, | double discoDuro;
al ‘/{ método constructor tiene el mismo nombre de
intmemoriaRam, | ja clase inicializa cada uno de los atributo
pantalla; public void computador (){
double discoDuro; | [Link] = “Pentium dual core”;
[Link] = “Azul"; [Link]= 1; //TB
this. memoriaRam = 4; //GB
[Link] = 12; //pulgadas }
‘// sobrecarga el constructor entra Datos desde el
exterior
Powered by
CamScannerCond
Porn
Herencia (sub clase)
almacenar(): public void Computador String procesador , String
mostraDatos() color,
int memoriaRam , int pantalla,double discoDuro) {
[Link] = procesado; [Link] = color;
[Link]= discoDuro; [Link]
pantalla;
[Link] = memoriaRam; }
public void mostrarDatos(.{} public void
encender (
public void pagar (){} public void almacenar (
procedimiento generar objetos en el método
main.
public static void main(String] ares) (
Los mismos métodos | // se instancia la clase computador, crea el objeto
de la clase son ‘Computador Laptop = new Computador
‘ocupados con (“Pentium dual core”, “Rojo”, 1, 4, 12) ; //Laptop
propiedades cada
uno (Polimorfismo). | // nueva peticién de espacio en memoria en
/fcomputador, se crea el otro objeto Servidor
Existe comunicacién | Computador Servidor = new Computador
entre los objetos por | ("intel xeon E7°,"Azul” , 64, 6, 15); //servidor
medio de los ‘[Link]("Se crean 2 PC(abjetos): " );
métodos. [Link](" datos de objeto Laptop son "+
Laptop );
System. out printin("los datos del Servidor) * };
Los abjetos [Link] printin
comparten los ("el procesador "+ [Link] +
atributos y métodos, | " el color es "+ [Link] +
pero sus valores son | "el disco duro es de "+ [Link] +
Independientes, "la memoria Ram es "+ [Link] +
(Encapsulacién) " y la pantalla mide r "+ [Link] };
}
La clase Tableta hereda de la clase Computador
atributos y métodos, agrega sus propios métodos y
atributos (disminuye la Redundancia )
re eee
CamScannerpublic class Tableta extends Computador
Clase Tableta {
String camara, microfono;
Atributos: double bluetooth;
String camara,
micréfono,
bluetoot!
public void Tableta () {
this. camara="Oled";
eee this, microfono =" Smart”;
Tableta()
pantallaTactil():
reconocerhuella()
public class Celular extends Computador
{
String camarafrontal, sensorproximidad;
Clase Celular
Atribut
String _camarafron} public void Celular (){
sensorproximidad; | this. camarafrontal= "Axon 30 5G";
[Link] =" Inductivo”;
Métodos: }
Celular) }
pantallaTactil();
reconocerhuella
validarproximidad();
josie |
Clase Consolav3uet) public class ConsolaVjuego extends Celular, Tableta
{
[Atibutos:
‘Suing tsositnv: | String dispositive, control ;
‘String control;
corns
public void ConsolaVjuego () {
Métodos: this. dispositivo= "Xbox o bluray”;
‘ConsolaVivexoO this. control=" interfaz usuario”;
pantallaTactil0; )
reconocendispositivo0
validareoatroladorO; |
Corey Tac}
Tabla 24 algunos Componentes de la Programacian Oa O. {implemetacign de la clase) Unidad 2, Autor
hnttess/acortarlink/HCVUB4
Powered by
CamScannerObjeto: es una entidad fundamental de la programacién orientada a objeto contiene pardmetros y
atributos que interactia directamente con los métodos, esta reacciona al evento, se caracteriza por
tener un conjunto de caracteristicas y acciones que lo hacen unico dentro de la programacién,
Atributo: son caracteristicas y comportamientos almacenados en el objeto, datos nativos u objetos,
tienen un estado diferente determinado por los valores obtenidos en un tiempo y espacio especifico.
Método: es el algoritmo, es la secuencia de instrucciones légicas asociadas al objeto, es identificable y
define el comportamiento que se desea aplicar para el desarrollo sobre el objeto. puede acceder y
modificar las caracteristicas contenidas en el objeto,
Mensaje: es la comunicacién dirigida a un objeto, indica que se invoquen los métodos con los
pardmetros asociados a él.
Encapsular: Es la manera como el objeto almacena la informacién y la procesa procurando que los
diferentes cambios de estado solamente los realicen los métodos propios y ningtin externo lo altere.
Basicamente abstrae al usuario de las modificaciones internas y conserva la integridad del objeto,
Polimorfismo: es lz posibilidad de que un aplicativo contenga varias clases, y cada una de estas tenga
métodos con el mismo nombre, con distintos pardmetros y funcionalidad. Es una de las ventajas de la
POO donde un método puede ser utilizado por diferentes clases, pero de manera diferente.
Sobrecarga: es la posibilidad de que una clase tenga varios métodos con el mismo nombre y distinta
cantidad de parametros o funcionalidad.
Herencia: es la herramienta por la cual se pueden “compartir” procesos, atributos y objetos con el fin
de optimizar la funcionalidad de una nueva clase partir de una existente. El objeto de la nueva clase
aprovecha caracteristicas y comportamiento de la clase padre y define e implementa las propias.
La herencia proporciona un poderoso mecanismo natural para la organizacién y estructuracién de su
software, distintos objetos comparten atributos y métodos que hacen aproximadamente lo mismo.
Todo lo que es comtin a ambas clases queda comprendido en la clase “superior”, mientras lo que es
especifico, queda restringido ala clase “inferior”.
El ejemplo define una clase denominada Computador, de forma que la clase Tableta tome todas las
propiedades de la clase computador, més algunas propiedades y métodos especificos. Lo mismo
‘ocurriria con otras que pudieran “heredar” de Computador.
Para declarar la herencia usamos la palabra clave extends, public class MiClase2 extends Miclasel.
Ejemplo: -public class Computador extends Tableta.
Si quisiéramos podriamos escribir para todas las clases public class NombreDeLaClase extends Object,
En Java los tipos nativos, no son instancias de clase, y por tanto no heredan de la superctase Object.
Powered by