SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Fundamentación Objetos
Guía Nº 1
Programación I
1
GUÍA Nº 1 FUNDAMENTACIÓN DE OBJETOS
IDENTIFICACIÓN DE LA ASIGNATURA
Facultad de Estudios a Distancia - FESAD ESCUELA: Ciencias Tecnológicas
Programa: Tecnólogo en programación de Sistemas Informáticos
Asignatura/Unidad: Programación l
Nombre de la actividad: Fundamentación de Objetos
Objetivo de la temática: Comprender la estructura y manejo de las clases en Java y su
diagramación en UML1
.
Docente-Tutor: Ing. Josué Nicolás Pinzón Villamil
Contenido
Objetivos Específicos...................................................................................................................... 3
¿Qué es un objeto?........................................................................................................................ 3
¿Qué es una Clase?........................................................................................................................ 3
Ejemplo...................................................................................................................................... 3
Estructura de la clase ................................................................................................................. 3
Nomenclatura de Clase .............................................................................................................. 4
Ejemplo.................................................................................................................................. 5
Representación ...................................................................................................................... 5
Atributos........................................................................................................................................ 6
Nomenclatura de atributos ........................................................................................................ 6
Estructura de atributos .............................................................................................................. 6
Tipos de datos............................................................................................................................ 8
Ejemplo................................................................................................................................ 10
Métodos o Funciones................................................................................................................... 10
1
UML por sus siglas en inglés Unified Modeling Language, Lenguaje Unificado de Modelado, es un estándar
para escribir planos de software.
Fundamentación Objetos
Guía Nº 1
Programación I
2
Nomenclatura de métodos....................................................................................................... 10
Parámetros de Métodos........................................................................................................... 10
Método constructor................................................................................................................. 11
Métodos de Clase .................................................................................................................... 12
Métodos Get () Set ()............................................................................................................ 12
Comentarios ................................................................................................................................ 13
Comentarios de Línea........................................................................................................... 13
Comentarios de bloque........................................................................................................ 13
Comentarios de documentación........................................................................................... 13
Ejemplo Contenido ...................................................................................................................... 14
Ejercicio....................................................................................................................................... 18
Bibliografía .................................................................................................................................. 19
Fundamentación Objetos
Guía Nº 1
Programación I
3
Fundamentación Objetós
Objetivos Específicos
• Definir el concepto y la diferencia con un objeto.
• Determinar la estructura de una clase.
• Conocer las normas de escritura para java en una clase.
• Explicar la declaración de atributos de una clase.
¿Qué es un objeto?
Objeto es cualquier cosa real o abstracta acerca de la cual se almacena datos, además es la
instancia de una clase en tiempo de ejecución de una aplicación.
¿Qué es una Clase?
Una clase describe un conjunto de objetos con un rol en un sistema. Entiéndase por rol función
que alguien o algo cumple.
En programación orientada a objetos las clases son parte fundamental en el desarrollo de
aplicaciones.
Ejemplo
Socio, factura, libro.
Estructura de la clase
La estructura de la clase está dada de la siguiente forma:
• Nombre de la clase.
• Estructura de datos.
• Comportamiento
Los atributos se representan a través de variables, en las que se indicara la estructura que
conforma la definición de una clase.
Los métodos de la clase incluyen todas responsabilidades y operaciones que desarrollara la
clase, es decir aquí se define el comportamiento de la clase.
Fundamentación Objetos
Guía Nº 1
Programación I
4
En UML1, las clases tienen una estructura de un rectángulo dividido en tres partes en las cuales
se representan el nombre de la clase, los atributos y las operaciones, la clase se vería de la
siguiente forma:
NombreClase
atributos
Operaciones o métodos.
En código Java la estructura de la clase se visualizara así:
//=======================================================================
// CLASE
//=======================================================================
….
//-----------------------------------------------------------------------
// ATRIBUTOS DE CLASE
//-----------------------------------------------------------------------
….
//-----------------------------------------------------------------------
// METODOS CONSTRUCTORES
//-----------------------------------------------------------------------
….
//-----------------------------------------------------------------------
// METODOS DE CLASE
//-----------------------------------------------------------------------
….
Nomenclatura de Clase
La nomenclatura hace referencia a la forma en que se debe nombrar la clase dentro de Java, esta
nomenclatura se rige bajo el estándar CamelCase que es un estilo de escritura que se aplica a
palabras compuestas.
El CamelCase se divide en dos Upper y lower, cuando se utiliza UpperCamelCase la palabra
compuesta debe llevar la inicial de cada palabra que la compone en mayúscula, mientras que
con lowerCamelCase la palabra compuesta se inicia en minúscula y las palabras adyacentes en
mayúscula.
Fundamentación Objetos
Guía Nº 1
Programación I
5
Adicional al estilo de mayúsculas y minúsculas propuesto por Camel Case, existen una serie de
caracteres no permitidos en la declaración de clases, atributos y funciones en el lenguaje Java.
En este lenguaje solo son permitidos caracteres alfabéticos independiente de si están en
mayúscula y minúscula, númerós y guiónes al pisó (carácter ‘_’) siempre y cuandó cómience pór
una letra. También son aceptados caracteres alfabéticos latinós cómó la eñe (‘ñ’), las tildes (á,
é, í, ó y ú) y otros, sin embargo no son recomendables por los cambios de codificación en
diferentes sistemas operativos, hecho que hace que algunos caracteres no sean reconocidos
correctamente.
Los nombres de las clases deben ser sustantivos en singular y escritos en forma
UpperCamelCase.
Un sustantivo es una palabra que designa o identifica seres animados o inanimados, es decir,
vivientes o inertes.
Ejemplo
• Formas incorrectas de escribir los nombre de las clases:
C@s@, persona, Carro-Compra, ciudadcapital
• Forma correcta de nombrar las clases:
Persona, Casa, Factura, Ciudad.
Representación
En UML la clase se representa así:
Ilustración 1 Diagrama UML Clase Empresa
Fundamentación Objetos
Guía Nº 1
Programación I
6
En codigo Java se ve asi:
Ilustración 2 Inicializar Clase Empresa
Atributos
Un atributo es una propiedad de una clase, es decir son las características de la clase sin las
cuales no puede existir, además depende del contexto en el que se maneja la clase.
Los atributos son variables en la clase que tienen un significado dentro de la misma. Las
variables son valores modificables, es decir son elementos con nombres claros que representan
una cualidad de la clase y que tienen un valor.
Nomenclatura de atributos
Los atributos se escriben en forma lowerCamelCase. El nombre que se debe colocar al atributo
está dado en el tipo de información que se desea almacenar, este nombre debe ser
representativo, es decir debe tener un nombre acorde al dato.
Estructura de atributos
Las variables en Java son declaradas mediante la siguiente estructura:
• de Acceso: tipo de visualización a la variable.
• Modificador: indica el límite para restringir una variable.
• Tipo dato: formato de la información.
• Identificador: nombre que identifica la variable en la ejecución.
El modificador determina la forma en que se utiliza la variable, se puede definir de dos formas:
• final: la variable recibe un valor fijo en la inicialización, es utilizado en la
definición de constantes.
• static: la variable pertenece a la clase y no al objeto que crea la clase, es decir
solo tiene validez y se puede utilizar en la clase.
Fundamentación Objetos
Guía Nº 1
Programación I
7
El visualizador determina el nivel de acceso que se tendrá de la variable en la clase y en el
paquete2, este se puede definir de tres formas:
• private: define la visualización de la variable como miembro, es decir, solo la
clase que la contiene la puede acceder.
• public: define la visualización de la variable como público, es decir, que se
tendrá acceso a la variable desde cualquier clase del paquete.
• protected: define la visualización pública a las clases relacionadas y privado a las
demás clases del paquete.
Las palabras private, public, protected, final y static son reservadas de Java, por lo tanto, no
pueden ir como nombres de clases o de variables.
Es importante aclarar las palabras que Java maneja como reservadas y las cuales no se pueden
utilizar en ningún tipo de nombre de clases, variable o funciones, estas palabras son utilizadas
por el compilador para cumplir con ciertas funciones, las palabras reservadas de Java son:
abstract
char
double
for
int
package
static
throws
boolean
class
else
interface
private
super
transient
break
extends
if
long
protected
switch
try
byte
continue
final
implements
native
public
synchronized
void
case
default
finally
import
new
return
this
volatile
catch
do
float
instanceof
null
short
throw
while
En UML un atributo se representa de la siguiente forma:
2
Paquete es un mecanismo utilizado por Java para agrupar clases con algún tipo de relación.
Fundamentación Objetos
Guía Nº 1
Programación I
8
Ilustración 3 Atributos en UML
El primer símbolo especifica el acceso, enseguida se ubica el nombre del atributo y finalmente
después de dos puntos (:) se coloca el tipo de dato. El acceso se puede definir private (-),
public (+) y protected (#).
En código java se escribe así:
Ilustración 4 Crear Articulo
Es importante mencionar que en la definición de un atributo no es obligatorio el uso del
modificador, aunque es recomendable para definir que clases tendrán acceso a la información
allí almacenada.
Tipos de datos
El tipo de dato es el formato de la información almacenada en la variable, estos tipos están
definidos por el lenguaje de programación, el cual indica su formato valido y como lo
interpretara el compilador del programa.
Java define los tipos de datos de acuerdo a su valor y entre estos rangos define varios tipos de
acuerdo a su valor máximo alcanzado, a continuación se presenta una clasificación de los tipos
de datos nativos de Java.
Fundamentación Objetos
Guía Nº 1
Programación I
9
Valor Nombre Tamaño
Entero
Byte 1 byte = 8 bits
Short 2 bytes = 16 bits
Int 4 bytes = 32 bits
Long 8 bytes = 64 bits
Punto flotante
Float 4 bytes = 32 bits
double 8 bytes = 64 bits
Carácter Char 2 bytes = 16 bits
Booleano boolean 1 byte = 8 bits
Nombre
Rango de Valores
Ejemplo
Desde Hasta
byte -128 127 34
short -32768 32767 24677
int -2147438648 2147438647 53456784
long -9223372036854775808 9223372036854775807 45623456781
float -3.402823 e38
1.401298 e-45
-1.401298 e-45
3.402823 e38
-2.143256 e 25
3.324589 e-37
double -1.79769313486232 e308
4.94065645841247 e-324
-4.94065645841247 e-324
1.79769313486232 e308
- 3.43535789452309 e234
2.23567823098712 e-125
boolean true False true
char Comprende el código ASCII ‘a’ … ‘@’… ‘5’… ‘Z’ … ‘☺’
De estos tipos de datos, se van a utilizar int, double, boolean y char, ya que estos son los
utilizados por defecto de cada rango, esto no quiere decir que los otros no sirvan.
Además de estos tipos de datos se va a utilizar la clase String de Java la cual nos permite
concatenar caracteres para formar palabras, esta clase sirve como tipo de dato y se pueden
definir objetos como variables para que almacenen estas cadenas de texto.
Un ejemplo en código Java seria:
Ilustración 5 Crear Atributo
En este código se utiliza la clase String para definir el objeto nit, esto quiere decir que nit va
almacenar una cadena de caracteres.
Fundamentación Objetos
Guía Nº 1
Programación I
10
Ejemplo
Se desea elaborar una aplicación en la que se almacenen los datos de los salones de clase de un
colegio.
Solución
1. Se debe identificar la clase de la aplicación.
Para este caso el salón de clases es la clase a definir, luego se debe seleccionar el nombre
apropiado para la clase, el cual puede ser Salon o SalonClase ambos representan el
mismo fin.
2. Se deben identificar los atributos que conforman el salón de clases.
Los atributos del salón de clases serán todas las características del salón, por ejemplo
la cantidad de sillas y mesas con las que cuenta, cantidad de tableros y ventanas, el
nombre del salón, en fin cualquier elemento que conforme el salón.
3. Se debe identificar el tipo de dato apropiado para los atributos.
Los tipos de datos se seleccionan teniendo en cuenta la información que se desea
almacenar, si el dato es numérico se debe decidir si es entero o decimal, si es un texto
seguramente va a ser un tipo String y si es de decisión será un booleano.
Ejemplo
Cantidad de sillas tendrá un tipo de dato entero int yse llamara cantidadSillas aplicando
lowerCamelCase.
Métodos o Funciones
Un método es la implementación de un servicio que puede ser requerido de una clase3.
Nomenclatura de métodos
Los nombres de los métodos se definen como verbos infinitivos y con el estándar
upperCamelCase.
Parámetros de Métodos
Los parámetros en un método son datos que se van a utilizar en el desarrollo de la función,
estos parámetros deben tener el nombre del atributo que se va a utilizar y el tipo de dato debe
ser el mismo del atributo.
Cuando los métodos tienen parámetros, en el diagrama UML aparecen entre paréntesis el tipo
de dato del parámetro así:
3
Booch, Grady. Rumbaugh, James. Jacobson, Ivar. El Lenguaje Unificado de Modelado. Pág. 55.
Fundamentación Objetos
Guía Nº 1
Programación I
11
Factura
- numero: int
+ setNumero(int): void
En código los parámetros se escriben entre los paréntesis del método, enunciado primero el
tipo de dato y luego el nombre.
Este es un método con parámetros en código java.
Ilustración 6 Método con Parámetros
Método constructor
El método constructor crea la clase en la ejecución del programa, permite inicializar los
atributos, si este método no se escribe Java crea uno por defecto; debe estar definido con el
nombre de la clase y puede tener parámetros en los cuales se ingresan los valores de los
atributos de la clase.
En código Java el constructor será así:
Ilustración 7 Estructura método constructor
Fundamentación Objetos
Guía Nº 1
Programación I
12
Métodos de Clase
Los métodos de la clase son la funcionalidad de esta ante la aplicación y estos representan las
operaciones que se llevan a cabo con los atributos, una clase puede tener varios métodos, entre
los que se destacan los métodos get () y set () de los atributos.
Métodos Get () Set ()
Los métodos get () y set () trabajan el encapsulamiento, es decir verifican que el contenido de
la información sea correcto y este dentro del rango del tipo de dato, de tal forma que en el
momento en el que se desea conocer la información está este concreta y sin errores.
Un ejemplo seria el número de clientes de un banco, este número no puede ser negativo y no
puede tomar valores decimales.
El método get () retorna el valor del atributo, para esto el método debe contener el tipo de dato
del método y como nombre después del sufijo get el nombre del atributo, en Java se describiría
así:
Ilustración 8 Método get
El método set () cambia el valor del atributo, esto mediante un parámetro en el método con el
mismo tipo de dato del atributo y con un nombre que haga referencia al atributo; el método set
se debe nombrar con el nombre del atributo teniendo como sufijo la palabra set, en código se
vería de la siguiente forma:
Ilustración 9 Método set
En los métodos que no retornan un valor aparece la palabra void reservada de Java, la cual es
utilizada para representar la ausencia de retorno de datos de un método.
Fundamentación Objetos
Guía Nº 1
Programación I
13
Comentarios
Los comentarios son anotaciones en el código que el compilador ignora, pero son útiles para los
programadores.
Como se puede apreciar en el desarrollo del documento las secciones de código están con
algunos comentarios en los que se explica el funcionamiento de cada parte del código, esto con
el fin de lograr un mejor entendimiento del programa y a futuro un fácil mantenimiento del
software.
Es fundamental conocer los principales comentarios utilizados en la plataforma Java, con los
cuales se genera el javadoc; la documentación del programa.
Estructura de los Comentarios
Los comentarios tienen una estructura definida en dos tipos:
Comentarios de Línea
En Java existen comentarios de línea y bloques de comentario utilizados para explicar el
propósito del código del programa y ayudar en la posterior modificación del código.
Lós cómentarió de línea se abren cón el símbóló ‘//’ y nó se cierra, pues el cómentarió va en
una sola línea de código.
Ilustración 10 Comentario en línea
Comentarios de bloque
Los comentarios de bloque se abren con el símbóló ‘/*’ y se cierran cón ‘*/’, estós cómentariós
pueden ocupar varias líneas de código.
Ilustración 11 Comentario bloque
Comentarios de documentación
Los comentarios de documentación están destinados a describir las clases, atributos y
métodos, con el fin de generar el documento javadoc.
Los comentarios de documentación tienen una estructura en el código de esta forma:
Fundamentación Objetos
Guía Nº 1
Programación I
14
Ilustración 12 Comentario Documentación
El símbóló ‘/**’ abre el comentario, el símbolo ‘*’ permite agregar texto y tag’s de información
y finalmente el símbolo ‘*/’ cierra el comentario.
Lós cómentariós de dócumentación póseen una serie de tag’s utilizados para documentar
aspectos concretos del código, estos se obtienen al cólócar el símbóló ‘@’. Entre lós tag’s más
utilizados en java están:
Nombre
Tag
Descripción Uso
@author Nombre del desarrollador. Clases
@param Definición de un parámetro de un método, es requerido
para todos los parámetros del método.
Métodos.
@return Informa de lo que devuelve el método, no se puede usar
en constructores o métodos "void".
Métodos.
@see Permite crear una referencia a la documentación de otra
clase o método
Clases, métodos y
atributos.
@throws Excepción lanzada por el método Métodos
@version Versión del método o clase. Clases y métodos.
Ejemplo Contenido
Finalmente, a continuación se presenta un ejemplo general del contenido de la guía, con el fin
ayudar en el afianzamiento de los conocimientos en el tema.
En UML las clases se representan de la siguiente manera:
Fundamentación Objetos
Guía Nº 1
Programación I
15
Ilustración 13 Diagrama de clase en UML
En esta grafica se incluyen los atributos y métodos get y set de la clase Factura aplicando los
estándares de la diagramación en UML vistos en la guía.
En código Java se representan así:
Fundamentación Objetos
Guía Nº 1
Programación I
16
Fundamentación Objetos
Guía Nº 1
Programación I
17
Fundamentación Objetos
Guía Nº 1
Programación I
18
En el código java presentado se aplicó la estructura general de una clase, además de la forma
correcta en que se nombran atributos y métodos get y set.
Ejercicio
A partir del siguiente enunciado realice el diagrama de las clases necesarias para cumplir los
requisitos y escriba el código fundamental de las clases. Finalmente realice un test Unidad a cada
clase encontrada.
Fundamentación Objetos
Guía Nº 1
Programación I
19
Se desea realizar un programa que permita capturar el nombre de los estudiantes, el nombre las
asignaturas que está cursando y las notas obtenidas por cada estudiante en cada una de las
asignaturas.
Bibliografía
Garcia, J., Rodriguez, J., Mingo, I., Imaz, A., Brazález, A., Larzabal, A., Calleja, J. &
Garcia, J. (2000). Aprenda Java como si estuviera en primero. San Sebastián:
Escuela Superior de Ingenieros Industriales-Universidad De Navarra: Recuperado
en http://ocw.uc3m.es/cursos-archivados/programacion-java/manuales/java2-U-
Navarra.pdf/view
Pérez, G. (2008). Aprendiendo Java y Progrmacion Orieentada a objetos:
Recuperado en
http://www.cartagena99.com/recursos/programacion/apuntes/AprendiendoJava.pdf
Stevens, P., & Pooley, R. (2007). Utilización de UML en ingeniería del software con
objetos y componentes (2nd ed.). Madrid: Pearson Educación.
Rumbaugh, J., Booch, G., Sánchez, S., & Jacobson, I. (2000). El Lenguaje unificado
de modelado. Madrid: Pearson Educación.
Primitive Data Types (The Java™ Tutorials > Learning the Java Language >
Language Basics) . (2020). Recuperado 28 March 2020, en
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
Modificadores de acceso en Java (2020). Recuperado 28 March 2020, en
https://javadesdecero.es/poo/modificadores-de-acceso/
Variables en Java. (2020). Recuperado 28 March 2020, en
http://www.manualweb.net/java/variables-java/
OpenStax CNX. (2020). Recuperado 28 March 2020, en
http://cnx.org/content/m11707/latest/
CONTROL DE CAMBIOS
Fecha Observación Autor
28/03/2020
Se crea guía Nº 1, sobre fundamentación
de objetos
Mg. Josué Nicolás Pinzón
Villamil

Más contenido relacionado

La actualidad más candente

Oops concepts || Object Oriented Programming Concepts in Java
Oops concepts || Object Oriented Programming Concepts in JavaOops concepts || Object Oriented Programming Concepts in Java
Oops concepts || Object Oriented Programming Concepts in JavaMadishetty Prathibha
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Conceptsthinkphp
 
constructors in java ppt
constructors in java pptconstructors in java ppt
constructors in java pptkunal kishore
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in javaTech_MX
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de ClasesAdal Dg
 
Classes in c++ (OOP Presentation)
Classes in c++ (OOP Presentation)Classes in c++ (OOP Presentation)
Classes in c++ (OOP Presentation)Majid Saeed
 
Wrapper class (130240116056)
Wrapper class (130240116056)Wrapper class (130240116056)
Wrapper class (130240116056)Akshay soni
 
Lect 1-class and object
Lect 1-class and objectLect 1-class and object
Lect 1-class and objectFajar Baskoro
 
06 abstract-classes
06 abstract-classes06 abstract-classes
06 abstract-classesAnup Burange
 
Java Course 11: Design Patterns
Java Course 11: Design PatternsJava Course 11: Design Patterns
Java Course 11: Design PatternsAnton Keks
 

La actualidad más candente (20)

Java Strings
Java StringsJava Strings
Java Strings
 
Oops concepts || Object Oriented Programming Concepts in Java
Oops concepts || Object Oriented Programming Concepts in JavaOops concepts || Object Oriented Programming Concepts in Java
Oops concepts || Object Oriented Programming Concepts in Java
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 
constructors in java ppt
constructors in java pptconstructors in java ppt
constructors in java ppt
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de Clases
 
Classes in c++ (OOP Presentation)
Classes in c++ (OOP Presentation)Classes in c++ (OOP Presentation)
Classes in c++ (OOP Presentation)
 
Wrapper class (130240116056)
Wrapper class (130240116056)Wrapper class (130240116056)
Wrapper class (130240116056)
 
Lect 1-class and object
Lect 1-class and objectLect 1-class and object
Lect 1-class and object
 
Core java complete notes - Contact at +91-814-614-5674
Core java complete notes - Contact at +91-814-614-5674Core java complete notes - Contact at +91-814-614-5674
Core java complete notes - Contact at +91-814-614-5674
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
Class Diagram
Class DiagramClass Diagram
Class Diagram
 
12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Java colecciones
Java coleccionesJava colecciones
Java colecciones
 
Strings in Java
Strings in JavaStrings in Java
Strings in Java
 
Uml diagrama clase objeto
Uml diagrama clase objetoUml diagrama clase objeto
Uml diagrama clase objeto
 
06 abstract-classes
06 abstract-classes06 abstract-classes
06 abstract-classes
 
Java Course 11: Design Patterns
Java Course 11: Design PatternsJava Course 11: Design Patterns
Java Course 11: Design Patterns
 
Java collections notes
Java collections notesJava collections notes
Java collections notes
 

Similar a Fun_01_fundamentacion_objetos

Similar a Fun_01_fundamentacion_objetos (20)

PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Primeraclaseobjetos clases
Primeraclaseobjetos clasesPrimeraclaseobjetos clases
Primeraclaseobjetos clases
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
 
C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2
 
Curso Java Inicial 4 Poo En Java
Curso Java Inicial   4 Poo En JavaCurso Java Inicial   4 Poo En Java
Curso Java Inicial 4 Poo En Java
 
Informacion
InformacionInformacion
Informacion
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Java
 
Que es UML
Que es UMLQue es UML
Que es UML
 
Unidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióNUnidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióN
 
Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Guía
GuíaGuía
Guía
 
Elemtos de programacion
Elemtos de programacionElemtos de programacion
Elemtos de programacion
 
Que es una clase en java
Que es una clase en javaQue es una clase en java
Que es una clase en java
 

Más de Universidad Pedagógica y Tecnológica de Colombia

Más de Universidad Pedagógica y Tecnológica de Colombia (20)

Prog_II_archivo_guia_5
Prog_II_archivo_guia_5Prog_II_archivo_guia_5
Prog_II_archivo_guia_5
 
Prog ii excepciones_guia_04
Prog ii excepciones_guia_04Prog ii excepciones_guia_04
Prog ii excepciones_guia_04
 
Prog i estructura_datos_guia_3
Prog i estructura_datos_guia_3Prog i estructura_datos_guia_3
Prog i estructura_datos_guia_3
 
Fun estructuras basicas_programacion_guia_2
Fun estructuras basicas_programacion_guia_2Fun estructuras basicas_programacion_guia_2
Fun estructuras basicas_programacion_guia_2
 
Personalizar gui guia_3
Personalizar gui guia_3Personalizar gui guia_3
Personalizar gui guia_3
 
Fun consola guia_01
Fun consola guia_01Fun consola guia_01
Fun consola guia_01
 
Prog_II_Eventos_guia_2
Prog_II_Eventos_guia_2Prog_II_Eventos_guia_2
Prog_II_Eventos_guia_2
 
Programacion_II_Interfaz_grafica_guia_I
Programacion_II_Interfaz_grafica_guia_IProgramacion_II_Interfaz_grafica_guia_I
Programacion_II_Interfaz_grafica_guia_I
 
Programacion_II_04_disposicion_contenedores
Programacion_II_04_disposicion_contenedoresProgramacion_II_04_disposicion_contenedores
Programacion_II_04_disposicion_contenedores
 
Programacion_II_300_contenedores_graficos
Programacion_II_300_contenedores_graficosProgramacion_II_300_contenedores_graficos
Programacion_II_300_contenedores_graficos
 
Programacion_II_introduccion_GUI
Programacion_II_introduccion_GUIProgramacion_II_introduccion_GUI
Programacion_II_introduccion_GUI
 
Programacion_II_jerarquia_gui
Programacion_II_jerarquia_guiProgramacion_II_jerarquia_gui
Programacion_II_jerarquia_gui
 
Fun_02_estructura_programa
Fun_02_estructura_programaFun_02_estructura_programa
Fun_02_estructura_programa
 
Fun programacion-204-operadores-logicos
Fun programacion-204-operadores-logicosFun programacion-204-operadores-logicos
Fun programacion-204-operadores-logicos
 
Fun programacion-203-operador-relacionales
Fun programacion-203-operador-relacionalesFun programacion-203-operador-relacionales
Fun programacion-203-operador-relacionales
 
Fun programacion-202-operador-aritmetico
Fun programacion-202-operador-aritmeticoFun programacion-202-operador-aritmetico
Fun programacion-202-operador-aritmetico
 
Fun programacion-200-pseducodigo-diagramas
Fun programacion-200-pseducodigo-diagramasFun programacion-200-pseducodigo-diagramas
Fun programacion-200-pseducodigo-diagramas
 
Fun-programacion-201-Elementos-pseducodigo
Fun-programacion-201-Elementos-pseducodigoFun-programacion-201-Elementos-pseducodigo
Fun-programacion-201-Elementos-pseducodigo
 
Fun programacion-00-introduccion-algoritmos
Fun programacion-00-introduccion-algoritmosFun programacion-00-introduccion-algoritmos
Fun programacion-00-introduccion-algoritmos
 
Fun programacion-000-logica-programacion
Fun programacion-000-logica-programacionFun programacion-000-logica-programacion
Fun programacion-000-logica-programacion
 

Último

MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 

Último (20)

MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 

Fun_01_fundamentacion_objetos

  • 1. Fundamentación Objetos Guía Nº 1 Programación I 1 GUÍA Nº 1 FUNDAMENTACIÓN DE OBJETOS IDENTIFICACIÓN DE LA ASIGNATURA Facultad de Estudios a Distancia - FESAD ESCUELA: Ciencias Tecnológicas Programa: Tecnólogo en programación de Sistemas Informáticos Asignatura/Unidad: Programación l Nombre de la actividad: Fundamentación de Objetos Objetivo de la temática: Comprender la estructura y manejo de las clases en Java y su diagramación en UML1 . Docente-Tutor: Ing. Josué Nicolás Pinzón Villamil Contenido Objetivos Específicos...................................................................................................................... 3 ¿Qué es un objeto?........................................................................................................................ 3 ¿Qué es una Clase?........................................................................................................................ 3 Ejemplo...................................................................................................................................... 3 Estructura de la clase ................................................................................................................. 3 Nomenclatura de Clase .............................................................................................................. 4 Ejemplo.................................................................................................................................. 5 Representación ...................................................................................................................... 5 Atributos........................................................................................................................................ 6 Nomenclatura de atributos ........................................................................................................ 6 Estructura de atributos .............................................................................................................. 6 Tipos de datos............................................................................................................................ 8 Ejemplo................................................................................................................................ 10 Métodos o Funciones................................................................................................................... 10 1 UML por sus siglas en inglés Unified Modeling Language, Lenguaje Unificado de Modelado, es un estándar para escribir planos de software.
  • 2. Fundamentación Objetos Guía Nº 1 Programación I 2 Nomenclatura de métodos....................................................................................................... 10 Parámetros de Métodos........................................................................................................... 10 Método constructor................................................................................................................. 11 Métodos de Clase .................................................................................................................... 12 Métodos Get () Set ()............................................................................................................ 12 Comentarios ................................................................................................................................ 13 Comentarios de Línea........................................................................................................... 13 Comentarios de bloque........................................................................................................ 13 Comentarios de documentación........................................................................................... 13 Ejemplo Contenido ...................................................................................................................... 14 Ejercicio....................................................................................................................................... 18 Bibliografía .................................................................................................................................. 19
  • 3. Fundamentación Objetos Guía Nº 1 Programación I 3 Fundamentación Objetós Objetivos Específicos • Definir el concepto y la diferencia con un objeto. • Determinar la estructura de una clase. • Conocer las normas de escritura para java en una clase. • Explicar la declaración de atributos de una clase. ¿Qué es un objeto? Objeto es cualquier cosa real o abstracta acerca de la cual se almacena datos, además es la instancia de una clase en tiempo de ejecución de una aplicación. ¿Qué es una Clase? Una clase describe un conjunto de objetos con un rol en un sistema. Entiéndase por rol función que alguien o algo cumple. En programación orientada a objetos las clases son parte fundamental en el desarrollo de aplicaciones. Ejemplo Socio, factura, libro. Estructura de la clase La estructura de la clase está dada de la siguiente forma: • Nombre de la clase. • Estructura de datos. • Comportamiento Los atributos se representan a través de variables, en las que se indicara la estructura que conforma la definición de una clase. Los métodos de la clase incluyen todas responsabilidades y operaciones que desarrollara la clase, es decir aquí se define el comportamiento de la clase.
  • 4. Fundamentación Objetos Guía Nº 1 Programación I 4 En UML1, las clases tienen una estructura de un rectángulo dividido en tres partes en las cuales se representan el nombre de la clase, los atributos y las operaciones, la clase se vería de la siguiente forma: NombreClase atributos Operaciones o métodos. En código Java la estructura de la clase se visualizara así: //======================================================================= // CLASE //======================================================================= …. //----------------------------------------------------------------------- // ATRIBUTOS DE CLASE //----------------------------------------------------------------------- …. //----------------------------------------------------------------------- // METODOS CONSTRUCTORES //----------------------------------------------------------------------- …. //----------------------------------------------------------------------- // METODOS DE CLASE //----------------------------------------------------------------------- …. Nomenclatura de Clase La nomenclatura hace referencia a la forma en que se debe nombrar la clase dentro de Java, esta nomenclatura se rige bajo el estándar CamelCase que es un estilo de escritura que se aplica a palabras compuestas. El CamelCase se divide en dos Upper y lower, cuando se utiliza UpperCamelCase la palabra compuesta debe llevar la inicial de cada palabra que la compone en mayúscula, mientras que con lowerCamelCase la palabra compuesta se inicia en minúscula y las palabras adyacentes en mayúscula.
  • 5. Fundamentación Objetos Guía Nº 1 Programación I 5 Adicional al estilo de mayúsculas y minúsculas propuesto por Camel Case, existen una serie de caracteres no permitidos en la declaración de clases, atributos y funciones en el lenguaje Java. En este lenguaje solo son permitidos caracteres alfabéticos independiente de si están en mayúscula y minúscula, númerós y guiónes al pisó (carácter ‘_’) siempre y cuandó cómience pór una letra. También son aceptados caracteres alfabéticos latinós cómó la eñe (‘ñ’), las tildes (á, é, í, ó y ú) y otros, sin embargo no son recomendables por los cambios de codificación en diferentes sistemas operativos, hecho que hace que algunos caracteres no sean reconocidos correctamente. Los nombres de las clases deben ser sustantivos en singular y escritos en forma UpperCamelCase. Un sustantivo es una palabra que designa o identifica seres animados o inanimados, es decir, vivientes o inertes. Ejemplo • Formas incorrectas de escribir los nombre de las clases: C@s@, persona, Carro-Compra, ciudadcapital • Forma correcta de nombrar las clases: Persona, Casa, Factura, Ciudad. Representación En UML la clase se representa así: Ilustración 1 Diagrama UML Clase Empresa
  • 6. Fundamentación Objetos Guía Nº 1 Programación I 6 En codigo Java se ve asi: Ilustración 2 Inicializar Clase Empresa Atributos Un atributo es una propiedad de una clase, es decir son las características de la clase sin las cuales no puede existir, además depende del contexto en el que se maneja la clase. Los atributos son variables en la clase que tienen un significado dentro de la misma. Las variables son valores modificables, es decir son elementos con nombres claros que representan una cualidad de la clase y que tienen un valor. Nomenclatura de atributos Los atributos se escriben en forma lowerCamelCase. El nombre que se debe colocar al atributo está dado en el tipo de información que se desea almacenar, este nombre debe ser representativo, es decir debe tener un nombre acorde al dato. Estructura de atributos Las variables en Java son declaradas mediante la siguiente estructura: • de Acceso: tipo de visualización a la variable. • Modificador: indica el límite para restringir una variable. • Tipo dato: formato de la información. • Identificador: nombre que identifica la variable en la ejecución. El modificador determina la forma en que se utiliza la variable, se puede definir de dos formas: • final: la variable recibe un valor fijo en la inicialización, es utilizado en la definición de constantes. • static: la variable pertenece a la clase y no al objeto que crea la clase, es decir solo tiene validez y se puede utilizar en la clase.
  • 7. Fundamentación Objetos Guía Nº 1 Programación I 7 El visualizador determina el nivel de acceso que se tendrá de la variable en la clase y en el paquete2, este se puede definir de tres formas: • private: define la visualización de la variable como miembro, es decir, solo la clase que la contiene la puede acceder. • public: define la visualización de la variable como público, es decir, que se tendrá acceso a la variable desde cualquier clase del paquete. • protected: define la visualización pública a las clases relacionadas y privado a las demás clases del paquete. Las palabras private, public, protected, final y static son reservadas de Java, por lo tanto, no pueden ir como nombres de clases o de variables. Es importante aclarar las palabras que Java maneja como reservadas y las cuales no se pueden utilizar en ningún tipo de nombre de clases, variable o funciones, estas palabras son utilizadas por el compilador para cumplir con ciertas funciones, las palabras reservadas de Java son: abstract char double for int package static throws boolean class else interface private super transient break extends if long protected switch try byte continue final implements native public synchronized void case default finally import new return this volatile catch do float instanceof null short throw while En UML un atributo se representa de la siguiente forma: 2 Paquete es un mecanismo utilizado por Java para agrupar clases con algún tipo de relación.
  • 8. Fundamentación Objetos Guía Nº 1 Programación I 8 Ilustración 3 Atributos en UML El primer símbolo especifica el acceso, enseguida se ubica el nombre del atributo y finalmente después de dos puntos (:) se coloca el tipo de dato. El acceso se puede definir private (-), public (+) y protected (#). En código java se escribe así: Ilustración 4 Crear Articulo Es importante mencionar que en la definición de un atributo no es obligatorio el uso del modificador, aunque es recomendable para definir que clases tendrán acceso a la información allí almacenada. Tipos de datos El tipo de dato es el formato de la información almacenada en la variable, estos tipos están definidos por el lenguaje de programación, el cual indica su formato valido y como lo interpretara el compilador del programa. Java define los tipos de datos de acuerdo a su valor y entre estos rangos define varios tipos de acuerdo a su valor máximo alcanzado, a continuación se presenta una clasificación de los tipos de datos nativos de Java.
  • 9. Fundamentación Objetos Guía Nº 1 Programación I 9 Valor Nombre Tamaño Entero Byte 1 byte = 8 bits Short 2 bytes = 16 bits Int 4 bytes = 32 bits Long 8 bytes = 64 bits Punto flotante Float 4 bytes = 32 bits double 8 bytes = 64 bits Carácter Char 2 bytes = 16 bits Booleano boolean 1 byte = 8 bits Nombre Rango de Valores Ejemplo Desde Hasta byte -128 127 34 short -32768 32767 24677 int -2147438648 2147438647 53456784 long -9223372036854775808 9223372036854775807 45623456781 float -3.402823 e38 1.401298 e-45 -1.401298 e-45 3.402823 e38 -2.143256 e 25 3.324589 e-37 double -1.79769313486232 e308 4.94065645841247 e-324 -4.94065645841247 e-324 1.79769313486232 e308 - 3.43535789452309 e234 2.23567823098712 e-125 boolean true False true char Comprende el código ASCII ‘a’ … ‘@’… ‘5’… ‘Z’ … ‘☺’ De estos tipos de datos, se van a utilizar int, double, boolean y char, ya que estos son los utilizados por defecto de cada rango, esto no quiere decir que los otros no sirvan. Además de estos tipos de datos se va a utilizar la clase String de Java la cual nos permite concatenar caracteres para formar palabras, esta clase sirve como tipo de dato y se pueden definir objetos como variables para que almacenen estas cadenas de texto. Un ejemplo en código Java seria: Ilustración 5 Crear Atributo En este código se utiliza la clase String para definir el objeto nit, esto quiere decir que nit va almacenar una cadena de caracteres.
  • 10. Fundamentación Objetos Guía Nº 1 Programación I 10 Ejemplo Se desea elaborar una aplicación en la que se almacenen los datos de los salones de clase de un colegio. Solución 1. Se debe identificar la clase de la aplicación. Para este caso el salón de clases es la clase a definir, luego se debe seleccionar el nombre apropiado para la clase, el cual puede ser Salon o SalonClase ambos representan el mismo fin. 2. Se deben identificar los atributos que conforman el salón de clases. Los atributos del salón de clases serán todas las características del salón, por ejemplo la cantidad de sillas y mesas con las que cuenta, cantidad de tableros y ventanas, el nombre del salón, en fin cualquier elemento que conforme el salón. 3. Se debe identificar el tipo de dato apropiado para los atributos. Los tipos de datos se seleccionan teniendo en cuenta la información que se desea almacenar, si el dato es numérico se debe decidir si es entero o decimal, si es un texto seguramente va a ser un tipo String y si es de decisión será un booleano. Ejemplo Cantidad de sillas tendrá un tipo de dato entero int yse llamara cantidadSillas aplicando lowerCamelCase. Métodos o Funciones Un método es la implementación de un servicio que puede ser requerido de una clase3. Nomenclatura de métodos Los nombres de los métodos se definen como verbos infinitivos y con el estándar upperCamelCase. Parámetros de Métodos Los parámetros en un método son datos que se van a utilizar en el desarrollo de la función, estos parámetros deben tener el nombre del atributo que se va a utilizar y el tipo de dato debe ser el mismo del atributo. Cuando los métodos tienen parámetros, en el diagrama UML aparecen entre paréntesis el tipo de dato del parámetro así: 3 Booch, Grady. Rumbaugh, James. Jacobson, Ivar. El Lenguaje Unificado de Modelado. Pág. 55.
  • 11. Fundamentación Objetos Guía Nº 1 Programación I 11 Factura - numero: int + setNumero(int): void En código los parámetros se escriben entre los paréntesis del método, enunciado primero el tipo de dato y luego el nombre. Este es un método con parámetros en código java. Ilustración 6 Método con Parámetros Método constructor El método constructor crea la clase en la ejecución del programa, permite inicializar los atributos, si este método no se escribe Java crea uno por defecto; debe estar definido con el nombre de la clase y puede tener parámetros en los cuales se ingresan los valores de los atributos de la clase. En código Java el constructor será así: Ilustración 7 Estructura método constructor
  • 12. Fundamentación Objetos Guía Nº 1 Programación I 12 Métodos de Clase Los métodos de la clase son la funcionalidad de esta ante la aplicación y estos representan las operaciones que se llevan a cabo con los atributos, una clase puede tener varios métodos, entre los que se destacan los métodos get () y set () de los atributos. Métodos Get () Set () Los métodos get () y set () trabajan el encapsulamiento, es decir verifican que el contenido de la información sea correcto y este dentro del rango del tipo de dato, de tal forma que en el momento en el que se desea conocer la información está este concreta y sin errores. Un ejemplo seria el número de clientes de un banco, este número no puede ser negativo y no puede tomar valores decimales. El método get () retorna el valor del atributo, para esto el método debe contener el tipo de dato del método y como nombre después del sufijo get el nombre del atributo, en Java se describiría así: Ilustración 8 Método get El método set () cambia el valor del atributo, esto mediante un parámetro en el método con el mismo tipo de dato del atributo y con un nombre que haga referencia al atributo; el método set se debe nombrar con el nombre del atributo teniendo como sufijo la palabra set, en código se vería de la siguiente forma: Ilustración 9 Método set En los métodos que no retornan un valor aparece la palabra void reservada de Java, la cual es utilizada para representar la ausencia de retorno de datos de un método.
  • 13. Fundamentación Objetos Guía Nº 1 Programación I 13 Comentarios Los comentarios son anotaciones en el código que el compilador ignora, pero son útiles para los programadores. Como se puede apreciar en el desarrollo del documento las secciones de código están con algunos comentarios en los que se explica el funcionamiento de cada parte del código, esto con el fin de lograr un mejor entendimiento del programa y a futuro un fácil mantenimiento del software. Es fundamental conocer los principales comentarios utilizados en la plataforma Java, con los cuales se genera el javadoc; la documentación del programa. Estructura de los Comentarios Los comentarios tienen una estructura definida en dos tipos: Comentarios de Línea En Java existen comentarios de línea y bloques de comentario utilizados para explicar el propósito del código del programa y ayudar en la posterior modificación del código. Lós cómentarió de línea se abren cón el símbóló ‘//’ y nó se cierra, pues el cómentarió va en una sola línea de código. Ilustración 10 Comentario en línea Comentarios de bloque Los comentarios de bloque se abren con el símbóló ‘/*’ y se cierran cón ‘*/’, estós cómentariós pueden ocupar varias líneas de código. Ilustración 11 Comentario bloque Comentarios de documentación Los comentarios de documentación están destinados a describir las clases, atributos y métodos, con el fin de generar el documento javadoc. Los comentarios de documentación tienen una estructura en el código de esta forma:
  • 14. Fundamentación Objetos Guía Nº 1 Programación I 14 Ilustración 12 Comentario Documentación El símbóló ‘/**’ abre el comentario, el símbolo ‘*’ permite agregar texto y tag’s de información y finalmente el símbolo ‘*/’ cierra el comentario. Lós cómentariós de dócumentación póseen una serie de tag’s utilizados para documentar aspectos concretos del código, estos se obtienen al cólócar el símbóló ‘@’. Entre lós tag’s más utilizados en java están: Nombre Tag Descripción Uso @author Nombre del desarrollador. Clases @param Definición de un parámetro de un método, es requerido para todos los parámetros del método. Métodos. @return Informa de lo que devuelve el método, no se puede usar en constructores o métodos "void". Métodos. @see Permite crear una referencia a la documentación de otra clase o método Clases, métodos y atributos. @throws Excepción lanzada por el método Métodos @version Versión del método o clase. Clases y métodos. Ejemplo Contenido Finalmente, a continuación se presenta un ejemplo general del contenido de la guía, con el fin ayudar en el afianzamiento de los conocimientos en el tema. En UML las clases se representan de la siguiente manera:
  • 15. Fundamentación Objetos Guía Nº 1 Programación I 15 Ilustración 13 Diagrama de clase en UML En esta grafica se incluyen los atributos y métodos get y set de la clase Factura aplicando los estándares de la diagramación en UML vistos en la guía. En código Java se representan así:
  • 16. Fundamentación Objetos Guía Nº 1 Programación I 16
  • 17. Fundamentación Objetos Guía Nº 1 Programación I 17
  • 18. Fundamentación Objetos Guía Nº 1 Programación I 18 En el código java presentado se aplicó la estructura general de una clase, además de la forma correcta en que se nombran atributos y métodos get y set. Ejercicio A partir del siguiente enunciado realice el diagrama de las clases necesarias para cumplir los requisitos y escriba el código fundamental de las clases. Finalmente realice un test Unidad a cada clase encontrada.
  • 19. Fundamentación Objetos Guía Nº 1 Programación I 19 Se desea realizar un programa que permita capturar el nombre de los estudiantes, el nombre las asignaturas que está cursando y las notas obtenidas por cada estudiante en cada una de las asignaturas. Bibliografía Garcia, J., Rodriguez, J., Mingo, I., Imaz, A., Brazález, A., Larzabal, A., Calleja, J. & Garcia, J. (2000). Aprenda Java como si estuviera en primero. San Sebastián: Escuela Superior de Ingenieros Industriales-Universidad De Navarra: Recuperado en http://ocw.uc3m.es/cursos-archivados/programacion-java/manuales/java2-U- Navarra.pdf/view Pérez, G. (2008). Aprendiendo Java y Progrmacion Orieentada a objetos: Recuperado en http://www.cartagena99.com/recursos/programacion/apuntes/AprendiendoJava.pdf Stevens, P., & Pooley, R. (2007). Utilización de UML en ingeniería del software con objetos y componentes (2nd ed.). Madrid: Pearson Educación. Rumbaugh, J., Booch, G., Sánchez, S., & Jacobson, I. (2000). El Lenguaje unificado de modelado. Madrid: Pearson Educación. Primitive Data Types (The Java™ Tutorials > Learning the Java Language > Language Basics) . (2020). Recuperado 28 March 2020, en https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html Modificadores de acceso en Java (2020). Recuperado 28 March 2020, en https://javadesdecero.es/poo/modificadores-de-acceso/ Variables en Java. (2020). Recuperado 28 March 2020, en http://www.manualweb.net/java/variables-java/ OpenStax CNX. (2020). Recuperado 28 March 2020, en http://cnx.org/content/m11707/latest/ CONTROL DE CAMBIOS Fecha Observación Autor 28/03/2020 Se crea guía Nº 1, sobre fundamentación de objetos Mg. Josué Nicolás Pinzón Villamil