Como es sabido hay muchos lenguajes de programación
orientada a objetos POO que tienen muchas similitudes entre si, pero puntualmente se enfocara en Java, se utiliza para tal efecto un modelo de fábrica de objetos, para introducir los términos clase, objeto, método, propiedad, estático, dinámico, donde la fábrica de objetos será el entorno de ejecución o JRE.
Descripción Empírica del funcionamiento del entorno JRE
Como se puede ver en la imagen anterior la fábrica de
objetos utiliza memoria del sistema para fabricar los objetos, pero para fabricarlos necesita la información pregrabada llamada clases, las clases son las que almacenan las propiedades y métodos que contendrá un objeto. Un objeto cambiará sus propiedades o las propiedades de otros objetos por medio de los métodos.
Los métodos que sólo pueden ejecutarse cuando el objeto
existe, son los denominados dinámicos, y los métodos que pertenecen a la clase son denominados estáticos, porque pueden ser llamados sin necesidad de la existencia de un objeto.
En el ejemplo tenemos dos objetos, Reloj y Lámpara los
cuales tienen métodos Cuerda e Interruptor, que son los que cambiaran el estado de las propiedades Hora e Iluminando. La clase reloj, podría tener un método estático llamado poner_en_hora, para ajustar todos los relojes fabricados. El programa en ejecución inicia en un método estático ya que no existen inicialmente objetos en nuestro programa, este método se llama main que se define como: static int main(String[] args){ ..... }
Donde args es un vector o arreglo unidimensional que
contendrá los argumentos que hayan sido pasados al comando java después de las órdenes y el nombre de la clase principal que alojará este método. El entorno de ejecución o la JVM fabricará objetos de sistema que podrán ser utilizados llamando a métodos estáticos de clases pertenecientes a la biblioteca de java.
Tipos de datos Básicos
En todos los lenguajes de programación existen tipos de
datos básicos con los que se realizarán las operaciones matemáticas básicas y las operaciones booleanas de verdadero o falso.
Definen tipos de datos que devolverán los métodos o los
tipos de datos que definirán una propiedad básica, como lo visto anteriormente, pero ahora se describe por el espacio que ocupan en memoria. Operadores y Delimitadores Básicos Permisos y declaración de clases, propiedades o métodos
Definen los permisos a un método o clase de objetos,
haciendo visible u oculto un método propiedad o clase a otras clases de objetos u otros objetos que quieran accederlas.
Explicación del codigo ejemplo 1:
Se define una función, o método, pública y estática
denominada main(). La palabra reservada static se utiliza para definir las propiedades o los métodos que pertenecen a una clase, en este caso la clase P1. El tipo de dato void se usa para indicar a la función, o método, que no devuelva parámetros. Todo programa en Java necesita una función, o método, denominada main() para establecer el inicio del programa. El contenido de dicha función, String[] args, define un vector de cadenas de caracteres donde recogerá los argumentos pasados en la ejecución del programa.
En java para crear objetos se utiliza una palabra
clave, new, esta misma crea un objeto del tipo indicado a su derecha, repase el ejemplo anterior con la siguiente línea:
Scanner in = new Scanner(System.in);
La clase Scanner, pertenece a la biblioteca de Java
“java.until. Scanner” la cual fue importada antes de la declaración de la clase P1 (Observe el codigo del ejemplo 1).
Nota: En este punto, se esta utilizando y creando
objetos pertenecientes a la biblioteca, como podemos ver la declaración de la clase P1 no tiene propiedades ni métodos dinámicos que puedan llegar a ser métodos de algún objeto, sólo el método estático main que es el que permite iniciar la ejecución de código.
El concepto de “Scanner in=” es una asignación y una
declaración simultánea, como se vio antes en el cuadro de operadores y delimitadores básicos el signo “=” asigna a la variable u nombre de objeto de la izquierda el contenido de la derecha. Eso quiere decir que “in” será una variable que apuntará a un objeto del tipo Scanner, in no será un objeto, será el nombre con el que accederemos al objeto en memoria ram, si en la siguiente línea repitiéramos otra asignación a in, es decir “in=....” sin la declaración porque ya se sabe que es del tipo Scanner, entonces la variable “in” apuntará a otro objeto del tipo Scanner, el anterior sigue existiendo en memoria, pero será eliminado en la próxima ejecución del recolector de basura de la JVM.
El objeto Scanner, necesita otro objeto como lo es el
objeto System.in, que es requerido para que el constructor de Scanner fabrique un objeto Scanner. Todo este procedimiento tiene el único fin de tener una variable llamada “in” que apunta a un objeto de tipo Scanner que es capaz de leer líneas de entrada, como se construye con la entrada del teclado, leerá lo que se pretende digitar.
Declara variables tipo double y realiza una asignación
en la variable “numero” para usar el objeto de la variable “in” y que lea datos de tipo double del teclado.
Explicación del código ejemplo 2:
Observe los comentarios y asocie el tipo de dato que
lee.
La clase Math de procedimientos y constantes
matemáticas, es de la biblioteca, una de los más útiles que provee algunas funciones matemáticas que se usan para resolver estos problemas como el cálculo de la circunferencia o la potencia de 2 de determinado número.
Nota: Para ver e investigar el resumen de los
métodos que contiene consulte: http://compunauta.com/forums/linux/programacion/jav a/AprendiendoJava.pdf Pág. 42. Ejercicio 1: Transcriba el ejemplo 1 a Netbeans, escriba comentarios explicativos de lo que realiza en todas las líneas del código y conteste las siguientes preguntas en un documento de texto:
a. ¿Por qué imprime los números de la forma 16.0 y/o 32.0?
b. ¿Es posible calcular una potencia decimal? Explique porque. c. ¿Por qué si se escribe cualquier número con exponente cero, el resultado es 1, que parte del código o sentencia del programa controla esta propiedad?
Ejercicio 2: Reflexione con el siguiente código expuesto.
Como ve se declara una variable entera llamada “valor” y
luego se le asigna un valor igual a 5 a esa variable.
La estructura que sigue es una condicional que conocen
como SI-SINO pero que en el lenguaje Java se menciona if- else. Recuerde el uso de los corchetes ya que estos tendrán en su interior las operaciones que deben realizar en ese segmento del código.
Para escribir un dato en la salida por pantalla se utiliza los
signos + para que imprima el resulta en medio del mensaje.
No olvide los operadores y delimitadores básicos
encontrados en el cuadro explicativo al principio de este instructivo.
Descargue el archivo .rar llamado Par, descomprímalo en un
ubicación que recuerde. Luego abra Netbeans y diríjase a File y posteriormente seleccione Open Project, como se muestra en la imagen: Localice el archivo descomprimido, selecciónelo y de clic Open Project.
Deberá realizar en Netbeans:
a. Cambiar el nombre de la clase. Para realizar esta acción
ubique la clase en el proyecto y sobre ella de clic derecho, seleccione refactor y luego rename, nómbrela (No olvide el camelcase) acorde a la función que realiza y luego de clic en refactor. b. Por último, ahora usted en base al código que se presenta debe proporcionar que el usuario sea el que inserte el valor que él quiera comparar. (Guíese de los ejemplos anteriores mencionados de captura de datos por teclado) Al finalizar entregue en un archivo comprimido con el nombre Instructivo 2 las soluciones correspondientes a los ejercicios propuestos.