Apunte 1

Java es un Lenguaje orientado a Objetos desarrollado por Sun Microsystems a principios de los años 90. James Gosling, Arthur Van Hoff y Andy Bechtolshein fueron los creadores, en un principio el lenguaje lo llamaron Oak, su símbolo es una taza de café.

El objetivo de crear este nuevo lenguaje fue programar la nueva generación de dispositivos inteligentes.

En la actualidad Java es multiplataforma es decir, funciona en SO Linux, Windows, iOS, en la Web, etc. Es Orientado a Objetos, multiprocesos, de fácil distribución.

  • JDK (Java Development Kit) Conjunto de herramientas (programas y librerías) que permiten desarrollar (compilar, ejecutar, generar documentación, etc.) programas en lenguaje Java. Incorpora una herramienta Debugger (detener la ejecución de un programa en la línea que se desee y poder conocer el valor de las variables en ese momento).

  • JRE (Java Runtime Environment), es una versión reducida del JDK que permite ejecutar código Java, no permite compilar ni utilizar el Debugger, viene incluido en el JDK pero se puede instalar por separado, es de libre distribución.

  • JavaPath, es el directorio donde se encuentra instalado el JDK, para poder compilar los programas en Java se necesitan una serie de ejecutables que se encuantran en el directorio bin dentro del JavaPath, algunos de estos programas son:

    • Appletviewer:permite visualización de Applets

    • java.exe: Ejecución de programas standAlone.

    • javadoc.exe: Creación de documentación a partir de las clases en java.

    • javac.exe: Compilación de código.

    • jar.exe: Creación o extracción de ficheros *.jar (ficheros comprimidos, similares a zip)

  • JVM (Java Virtual Machine) es el interprete de las instrucciones binarias (Java bytecode) el cual es generado por el compilador del lenguaje Java. Existen diferentes maquinas virtuales, dependiendo del SO en donde se va a ejecutar el programa, por eso un programa .class creado en Windows puede ser interpretado en un entorno de Linux.

Plataformas de la Tecnología Java:

  • Java Standard Edition: Sirve para desarrollar aplicaciones para PC de escritorio y servidores.

  • Java Enterprise Edition: Permite crear y desarrollar aplicaciones empresariales basadas en la Web

  • Java Micro Edition: Aplicaciones para dispositivos móviles, tabletas, celulares, electrodomésticos, Smart TV, etc.

  • Java Card. Orientada hacia tarjetas inteligentes.

Orientación a Objetos:

Modelar un problema de la vida real mediante entidades las cuales tienen características y comportamientos, estas entidades interactúan unas con otras para poder resolver un problema.

Para desarrollar un programa tenemos que modelar, especificar, construir y documentar los elementos que forman a un sistema.

Características de un Autobús:

Comportamiento

  • Id

  • Número de asientos

  • Modelo

  • Número de serie

  • Frenar

  • Acelerar

  • Arrancar

Declaración de clases en Java

Clase: Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de una clase). A través de ella podemos modelar el entorno de estudio. Las partes de una clase son:

  • Nombre: El nombre de una clase comienza con mayúscula, en singular, el nombre es el mismo del archivo físico con extensión .java

  • Atributos: Son variables de tipo básico de datos (primitivas), comienzan con minúscula, si es más de una palabra usar mayúscula en letra inicial de cada palabra diferente a la primera. Evitar usar _ (guión bajo).

  • Constantes: Tiene un valor asignado que no cambia durante la ejecución del programa. Se declaran con mayúscula sostenida y utilizan _ (guión bajo) cuando está conformado por más de una palabra.

  • Operaciones o métodos: Segmento de código secuencial que ejecuta una tarea específica. Los métodos casi siempre se invocan mediante los objetos. Pueden o no tener parámetros (son valores que entran al método). Pueden o no retornar o devolver un valor.

Diagrama de clases:

UML (Unified Modeling Language)

Declaración de variables de instancia:

Sintaxis:

[modificador] tipo nombreDeVariable (=valor);

modificador: Es utilizado para determinar la accesibilidad o visibilidad del atributo.

nombreDeVariable: Es el nombre o identificador que tendrá la variable de instancia.

Tipo: indica el tipo de dato que vamos a guardar, puede ser primitivo o de referencia.

Promoción:

Cuando una variable de un tipo de dato es asignado a otra variable de otro tipo de dato compatible, puede ocurrir automáticamente una conversión, a esto se le llama promoción.

  • El tipo de dato de la variable destino debe ser de una capacidad mayor, al tipo de dato de la variable de origen.

Ej.

De byte a int, es decir de 8 bits a 32 bits.

Casteo:

Cuando una variable de un tipo de dato de una capacidad mayor, trata de ser asignado a otra variable de otro tipo de capacidad menor, ocurre un error de compilación. Para corregirlo tenemos que usar casteo.

El casteo nos permite asignar valores a una variable a un tipo de datos más pequeño.

Cuando existe casteo debemos tomar en cuenta que existe perdida de información.

Los tipos de datos primitivos pueden castearse implícitamente (promoción) de la siguiente forma:

Importante a considerar:

  • El resultado de cualquier operación aritmética que involucre tipos byte y short, es promovido a int.

  • En cualquier operación aritmética que involucre int y long, el resultado es promovido a long.

  • En cualquier operación que involucre cualquier tipo entero (byte, short, int, long) con un float, el resultado es promovido a un float.

La programación Orientada a Objetos, está orientada a manejar una clase principal, en este caso es main, diferentes subclases que dependen de la clase principal (main), las cuales se conectan con la principal, mediante objetos.

Cada objeto se conecta en particular con cada clase, para ello le damos el nombre de la clase, el nombre del objeto, la instrucción new y mandamos llamar al constructor del objeto que por default tiene el mismo nombre de la clase.

Vamos por partes, comenzamos un nuevo proyecto con Netbeans:

Nuevo Proyecto:

Java Application:

Damos un nombre al proyecto:

Aparece la siguiente ventana:

Quitamos los comentarios:

Ya tenemos a nuestra clase principal, que es Operaciones, la cual tiene el método main, aprovechamos para crear dos nuevas subclases, dentro del mismo proyecto de Operaciones, cuadrado y triángulo:

El proyecto queda:

Vamos a crear nuestro primer método en la subclase cuadrado:

Conectamos el método recién creado con la clase principal para lo cual es necesario, crear el objeto de referencia con la subclase Cuadrado.

Ejecutamos y comprobamos el funcionamiento.

Añade un nuevo método a la subclase Cuadrado, el cual calculará el perímetro de la figura:

Conecta este nuevo método con la clase principal:

Ejecuta y observa los resultados.

En la clase Triángulo crea los métodos que calculen su área y perímetro, conecta los dos métodos con la clase principal, para lo cual tendrás que crear su variable de referencia.

En cada clase pueden existir diferentes métodos, cada método está conformado por:

· public: se refiere a que es un método público el cual puede ser llamado o invocado desde cualquier otra clase dentro del mismo proyecto.

· void: Refiere a que puede manejar o devolver, cualquier tipo de dato, es decir enteros, flotantes, doublé, cadenas (String), etc.

· Nombre del método: Nombre nemónico del método, de acuerdo a lo que “hace”.

· Por último los (): Paréntesis, refiere a que todo el procedimiento y valores están implícitos dentro del mismo método.

Ej.

public void pericuadrado(){

Instrucciones del método

}

¿Cuantas clases diferentes puede tener el proyecto?

Todas las necesarias y se conectan entre sí mediante los objetos

Abre el proyecto de figuras.

1. Existen en el proyecto dos clases, la principal (main), en donde se calcula el área de las 4 figuras.

2. Otra clase que calcula el perímetro de las mismas figuras.

3. En la clase principal creaste dos objetos el primero para la clase figuras y el segundo para la clase perímetro.

4. Añade dentro del mismo proyecto otra clase llamada figuras3D, en ella vas a agregar 8 métodos, el primero va a calcular la superficie de un cubo, el segundo el volumen del cubo.

5. Lo mismo para las figuras de:

a. Esfera

b. Cilindro

c. Pirámide

6. En la clase principal agrega al menú las figuras que recién creaste y adiciona al switch los casos necesarios, de la nueva clase.

Existen dos tipos de variables, las locales y las globales:

Locales, son aquellas que solo funcionan y trabajan dentro del método donde fueron creadas, fuera de él no son reconocidas. Para crear una variable local es declarada dentro del método.

Globales: Se declaran dentro de la clase pero fuera de cualquier método, las distinguimos ya que aparecen en verde y funcionan en cualquier método que exista dentro de la clase, lo único que necesitas es mandarla llamar.

La variables por default son publicas, es decir pueden ser llamadas y funcionan a todo lo largo y ancho del proyecto, hasta en diferentes clases.

public int lado;

Variables en Java

Programación Orientada a Objetos

Ciclo 02-16 Verano LC

Estimado Estudiante, la evaluación del tercer Parcial se llevará a cabo mediante la realización y desarrollo de 3 proyectos + 1 Investigación:

  • Elaboración App 20%, elaboración y publicación del vídeo funcionando tu aplicación, publicado en Youtube y conectado a tu sitio Web, además de mostrarla funcionando ya sea en Android o en iOS.

    • imágenes.

    • Localización Satelital.

    • Botones

    • Interfaz amigable y con colores.

    • Acerca de:

      • Nombre de todos y cada uno de los integrantes del equipo.

    • Utilidad al 100%.

  • Ejecución del formulario Pago (Cobro clínica) 10%:

    • Ventanas:

      • Principal.

      • Noches.

      • Medicamentos.

      • Especialistas.

  • Investigación 10%:

    • Librería utilizada para la manipulación de Arrays, funcionamiento y ejemplos de códigos.

  • Por último, generar un proyecto integral como una aplicación en tu carrera, la información generada se deberá mostrar en una interfaz amigable y de escritorio, así como, utilizar diferentes ventanas 60%.

Todos los trabajos deberán estar publicados, en cada uno de los sitios Web de los integrantes del equipo.

Los proyectos se deben aplicar y ejecutar al 100%, de lo contrario no hay puntuación.

La fecha de entrega sin prorroga, es el Lunes 18 de Agosto del 2016 en equipo, máximo 2 integrantes.

Aquel participante del equipo que no se presente, se queda sin calificación y sin derecho a presentarlo de manera extemporánea.

Cualquier duda, estoy a sus órdenes:

jorge.javillarreal06@gmail.com