Bienvenido al Blog, en esta oportunidad desarrollaremos un tema de introducci贸n al desarrollo de programaci贸n orientado a objetos, para entender sobre como desarrollar un sistema con el lenguaje java veremos acerca de las clases, atributos, m茅todos, etc.
Sobre el contenido …
- El contenido de este blog tiene como fuente el curso Fundamentos de programaci贸n de Oracle.
- Con algunos agregados del autor "EL INFORMATICO IBERO"
Desarrollo y Comprobaci贸n de un Programa Java
Identificaci贸n de los componentes de una clase
Las clases son los prototipos o patrones que se crean para definir los objetos de un programa. Por ejemplo, en la figura siguiente se ilustran algunos objetos que podr铆an utilizarse en el programa de introducci贸n de pedidos desarrollado para DirectClothing, Inc.
Una aplicaci贸n de escritorio normalmente se compone de un objeto, a menudo llamado objeto de control, objeto principal u objeto de prueba, que es el punto de partida para iniciar el programa. En la figura anterior, un objeto OrderEntry (EntradaPedido) podr铆a interaccionar con uno o varios objetos Window, Customer, Order u otros objetos mientras se ejecuta el programa.
Cada objeto de esta figura es una instancia de un prototipo o clase. Por ejemplo, todos los objetos Window (Ventana) son instancias de la clase Window. Algunas clases, como Window (usada para crear ventanas en interfaces gr谩ficas de usuario), son clases de uso general y se suministran como parte del API de Java. Otras clases, como Shirt, pueden ser exclusivas de su programa, as铆 que debe crearlas personalmente. En este curso se explica c贸mo usar las clases existentes y c贸mo crear y usar sus propias clases.
Estructuraci贸n de las clases
Las clases se componen del c贸digo Java necesario para instanciar objetos tales como Shirt. Este curso divide el c贸digo de cada archivo de clase de Java en cuatro secciones distintas:
- La declaraci贸n de la clase
- La declaraci贸n e inicializaci贸n de las variables de atributo (opcional)
- Los m茅todos (opcional)
- Los comentarios (opcional)
El c贸digo de programaci贸n de cada clase est谩 contenido en un archivo de texto que debe mantener una cierta estructura.
El ejemplo siguiente muestra una clase Shirt para todas las camisas que aparecer谩n en el cat谩logo de DirectClothing. La clase Shirt contiene varias variables de atributo y un m茅todo para mostrar en la pantalla los valores de las variables.
Hemos visto una clase b谩sica de Java llamada Shirt y una clase de prueba llamada ShirtTest. Juntas, estas clases forman su primer programa de tecnolog铆a Java. A continuaci贸n, compilar谩 y ejecutar谩 (comprobar谩) el programa.
Declaraci贸n de clases
Es preciso declarar una clase por cada clase dise帽ada en el dominio del problema. Cada clase necesita su propia declaraci贸n. La sintaxis para declarar una clase es:
Los [modificadores] determinan el nivel de acceso que otras clases tienen a esta clase. Los modificadores se explican con mayor profundidad m谩s adelante en este curso. La variable [modificadores] es opcional (como indican los corchetes) y puede ser public, abstract o final. Por ahora, utilice el modificador public.
La palabra clave class indica al compilador que el bloque de c贸digo contiene una declaraci贸n de clase. Las palabras clave son palabras reservadas por el lenguaje Java para determinadas construcciones.
Declaraci贸n de clases
IdentificadorClase es el nombre asignado a la clase. La nomenclatura utilizada para las clases sigue las normas siguientes:
- Los nombres de clases deben ser sustantivos escritos en letras may煤sculas y min煤sculas, con la primera letra de cada palabra en may煤scula, por ejemplo MiClase.
- Los nombres de clases deben contener palabras completas.
- Debe evitarse el uso de siglas y abreviaturas, a menos que la sigla sea m谩s conocida y utilizada que el nombre completo, como es el caso de JVM o UML.
La definici贸n de la clase va seguida de una llave de apertura ({) que indica el comienzo del cuerpo_de_clase, las variables de atributo y los m茅todos que componen la clase. Las llaves{ } que abren y cierran el cuerpo_de_clase indican el principio y el final de la clase.
Requisitos del archivo fuente
- En este curso, desarrollar谩 sus clases de forma que el c贸digo de Java que escriba para cada clase est茅 contenido en su propio archivo de texto o archivo de c贸digo fuente.
- En lenguaje Java, el nombre de cada archivo de c贸digo fuente debe ser id茅ntico al nombre de la clase public que contiene el archivo y debe ir seguido de la extensi贸n .java.
- Por ejemplo, la clase Shirt debe guardarse en un archivo llamado Shirt.java.
Veamos algunos ejemplos de declaraci贸n de clases en Java.
Declaraciones y Asignaciones de Variable
- La primera llave de apertura ({) va seguida del bloque de declaraci贸n y asignaci贸n de variables de atributo. En general, todas las variables de atributo de la clase se definen despu茅s de esta llave.
- El ejemplo de c贸digo de la clase Shirt contiene cinco declaraciones de variables de atributo, una para el ID de camisa, otra para la descripci贸n, otra para el c贸digo de color, otra para el precio y otra para la cantidad en stock.
- Las l铆neas del programa que realizan alguna acci贸n, como imprimir o declarar variables, incluyen un signo de punto y coma al final.
- Las l铆neas del programa que representan el comienzo de un bloque de c贸digo (una o m谩s l铆neas de c贸digo combinadas para realizar una determinada tarea, como las de una clase o un m茅todo) se inician con una llave de apertura ({) y se terminan con una llave de cierre (}).
Comentarios
- Deber铆a poner comentarios en cada clase que cree para facilitar la comprensi贸n de aquello que hace el programa.
- Los comentarios son particularmente importantes en programas de gran tama帽o desarrollados por muchos programadores diferentes que deben leer el c贸digo.
- Contribuyen a realizar un buen mantenimiento del programa cuando los nuevos programadores necesitan saber qu茅 est谩 haciendo el c贸digo.
Estructuras de los comentarios
Comentarios en una l铆nea: un marcador formado por dos barras inclinadas // indica al compilador que debe hacer caso omiso de todo lo que encuentre hasta el final de la l铆nea actual.
Muchos programadores tratan de facilitar la comprensi贸n de sus c贸digos utilizando comentarios de una l铆nea para explicar la primera y 煤ltima l铆neas de cada clase y m茅todo.
Comentarios tradicionales: la combinaci贸n de los caracteres /* indica al compilador que haga caso omiso de todo el c贸digo que encuentre hasta el siguiente marcador de cierre (*/). Los programadores suelen utilizar los comentarios tradicionales para proporcionar informaci贸n sobre un c贸digo de bloque largo.
Hay un tercer tipo de comentario denominado comentario de documentaci贸n. Es posible utilizar la herramienta Javadoc™ de la tecnolog铆a Java para crear documentaci贸n relativa a cualquiera de las clases que vayan a utilizar otros programadores. De hecho, toda la documentaci贸n de la biblioteca de clases que se entrega con el SDK de Java SE se ha creado con la herramienta javadoc. Los comentarios de documentaci贸n deben empezar con una barra inclinada y dos asteriscos (/**), y terminar con un asterisco y una barra inclinada (*/). El ejemplo anterior de comentario tradicional tambi茅n ser铆a v谩lido como comentario de documentaci贸n.
M茅todos
Los m茅todos van a continuaci贸n de las declaraciones de variables en la clase. Su sintaxis es la siguiente:
- [modificadores] representa determinadas palabras clave de Java que modifican la forma en que se accede a los m茅todos. Los modificadores son opcionales (como indican los corchetes).
- tipo_retorno indica el tipo de valor que devuelve el m茅todo (si devuelve alguno). Si devuelve alg煤n valor, es preciso declarar el tipo de valor del que se trata. Los valores de retorno pueden ser utilizados por el m茅todo de llamada. Un m茅todo puede devolver un valor como m谩ximo. Si no devuelve ning煤n valor, es preciso usar la palabra clave void como tipo_retorno.
- identificadorM茅todo es el nombre del m茅todo.
- ([argumentos]) representa una lista de variables cuyos valores se pasan al m茅todo para que 茅ste los utilice. Los argumentos son opcionales (como indican los corchetes) porque los m茅todos no est谩n obligados a aceptarlos. Recuerde tambi茅n que los par茅ntesis no son opcionales. Un m茅todo que no acepta argumentos se declara con par茅ntesis de apertura y cierre sin informaci贸n dentro..
- bloque_c贸digo_m茅todo es una secuencia de sentencias ejecutadas por el m茅todo. En el bloque o cuerpo del c贸digo de un m茅todo pueden tener lugar una amplia variedad de tareas.
Creaci贸n y uso de una Clase de Prueba
La mayor铆a de las clases que crear谩 en este curso no pueden utilizarse (ejecutarse y probarse) por s铆 solas. En realidad, necesitar谩 ejecutar otra clase para crear una instancia de objeto de su clase y poder as铆 verificarla. A lo largo del curso, utilizar谩 una clase de prueba (test) o main para verificar cada una de sus clases. El c贸digo siguiente contiene un ejemplo de una clase de prueba de la clase Shirt.
Cada clase de prueba del curso deber铆a designarse con un nombre que permita reconocerla como tal. En concreto, su nombre deber铆a incluir el nombre de la clase que va a probar seguido de la palabra “Test”. Por ejemplo, la clase dise帽ada para verificar la clase Shirt se llama ShirtTest.
Las clases de prueba deben realizar dos tareas diferentes. Son las siguientes:
- Proporcionar un punto de partida, a trav茅s del m茅todo main, para el programa.
- Crear una instancia de su clase y probar sus m茅todos.
M茅todo main
main es un m茅todo especial que la m谩quina virtual de Java reconoce como punto de partida para cualquier programa Java que se ejecute desde un indicador o una l铆nea de comandos. Cualquier programa que se quiera ejecutar desde una l铆nea de comandos o un indicador debe tener un m茅todo main.
La sintaxis del m茅todo main es:
El m茅todo main utiliza la misma sintaxis que todos los m茅todos descritos con anterioridad. En concreto:
- El m茅todo main contiene dos modificadores obligatorios, public y static.
- El m茅todo main no devuelve ning煤n valor, con lo que su tipo de retorno es void.
- El m茅todo main tiene como identificador (nombre) “main”.
- El m茅todo main acepta cero o m谩s objetos de tipo String (String args[]). Esta sintaxis permite introducir en la l铆nea de comandos los valores que el programa utilizar谩 durante su ejecuci贸n.
Compilaci贸n y Ejecuci贸n de un Programa
Compilaci贸n de un programa
La compilaci贸n convierte los archivos de clase del programador en c贸digo de byte que puede ejecutarse mediante una m谩quina virtual de Java. Recuerde las reglas para asignar nombres a los archivos fuente de Java. Si un archivo fuente contiene una clase p煤blica, dicho archivo debe tener el mismo nombre que la clase seguido de la extensi贸n .java. Por ejemplo, la clase Shirt debe guardarse en un archivo llamado Shirt.java.
Para compilar los archivos de c贸digo fuente de Shirt y ShirtTest, deber谩:
- Ir al directorio donde est茅n almacenados los archivos de c贸digo fuente.
- Introducir el siguiente comando por cada archivo .java que quiera compilar:
- Por ejemplo: javac Shirt.java
Una vez finalizada la compilaci贸n, y suponiendo que no se haya producido ning煤n error de compilaci贸n, deber铆a tener en el directorio un nuevo archivo llamado nombreclase.class por cada archivo fuente que haya compilado. Si compila una clase que hace referencia a otros objetos, las clases correspondientes a esos objetos tambi茅n se compilan (si no se han compilado ya). Por ejemplo, si ha compilado el archivo ShirtTest.java (que hace referencia al objeto Shirt), tendr谩 los archivos Shirt.class y ShirtTest.class.
Ejecuci贸n (Comprobaci贸n) de un programa
Una vez compilados adecuadamente sus archivos de c贸digo fuente, puede ejecutarlos y probarlos utilizando la m谩quina virtual de Java. Para ejecutar y probar su programa:
Este comando ejecuta la clase ShirtTest. Como hemos indicado anteriormente, la clase ShirtTest crea una instancia del objeto Shirt utilizando la clase Shirt. Todos los objetos Shirt tienen un m茅todo, display, que imprime en la pantalla los valores de sus variables de atributo, por ejemplo:
Sugerencias para corregir errores de sintaxis en Java
- Casi siempre tendr谩 alg煤n error de sintaxis cuando escriba c贸digo nuevo en Java. La sintaxis se refiere a las reglas que determinan la estructura correcta de un lenguaje. Utilice los consejos siguientes cuando vaya a corregir la sintaxis de sus programas Java:
- Los mensajes de error indican el n煤mero de la l铆nea donde se ha producido el error. Sin embargo, la l铆nea indicada no siempre es el verdadero origen del error, por lo que quiz谩 tenga que comprobar las l铆neas de c贸digo que preceden y siguen al n煤mero de l铆nea suministrado.
- Compruebe si ha escrito el punto y coma de cierre al final de cada sentencia.
- Aseg煤rese de tener un n煤mero par de llaves: debe haber una llave de cierre por cada llave de apertura.
- Aseg煤rese de haber usado las sangr铆as de forma coherente y uniforme en el programa, tal y como se muestra en los ejemplos del curso. Aunque los programas se ejecutan sin tener en cuenta las sangr铆as en diferentes tipos de c贸digo, su uso facilita la lectura y depuraci贸n de los programas, lo que, a su vez, ayuda a evitar errores durante su escritura.
No hay comentarios.:
Publicar un comentario