Clase Libro
package examen;
import java.util.Scanner;
public class Libro {
String titulo ;
Persona autor;
String ISBN ;
int paginas ;
String edicion ;
String editorial ;
Lugar sitio;
Fecha fecha;
public Libro() {
}
public Libro(String titulo, Persona autor, String ISBN, int paginas, String edicion, String editorial, Lugar sitio, Fecha fecha) {
this.titulo = titulo;
this.autor = autor;
this.ISBN = ISBN;
this.paginas = paginas;
this.edicion = edicion;
this.editorial = editorial;
this.sitio = sitio;
this.fecha = fecha;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public Persona getAutor() {
return autor;
}
public void setAutor(Persona autor) {
this.autor = autor;
}
public String getISBN() {
return ISBN;
}
public void setISBN(String ISBN) {
this.ISBN = ISBN;
}
public int getPaginas() {
return paginas;
}
public void setPaginas(int paginas) {
this.paginas = paginas;
}
public String getEdicion() {
return edicion;
}
public void setEdicion(String edicion) {
this.edicion = edicion;
}
public String getEditorial() {
return editorial;
}
public void setEditorial(String editorial) {
this.editorial = editorial;
}
public Lugar getSitio() {
return sitio;
}
public void setSitio(Lugar sitio) {
this.sitio = sitio;
}
public Fecha getFecha() {
return fecha;
}
public void setFecha(Fecha fecha) {
this.fecha = fecha;
}
void leer(Persona p, Lugar l, Fecha f) {
Scanner sc = new Scanner(System.in);
System.out.println("La informacion del libro:");
System.out.println("Ingrese titulo:");
titulo = sc.nextLine();
System.out.println("Ingrese nombre del autor,");
p.nombre = sc.nextLine();
System.out.println("Ingrese apellido del autor");
p.apellido = sc.nextLine();
System.out.println("Imgrese codigo:");
ISBN = sc.nextLine();
System.out.println("Paginas:");
paginas = sc.nextInt();
System.out.println("La edicion:");
edicion = sc.nextLine();
System.out.println("El editorial");
editorial = sc.nextLine();
System.out.println("Ingrese pais:");
l.pais = sc.nextLine();
System.out.println("Ingrese ciudad:");
l.ciudad = sc.nextLine();
System.out.println("Ingrese dia:");
f.dia = sc.nextLine();
System.out.println("Ingrese numero de dia:");
f.numero_dia = sc.nextInt();
System.out.println("Ingrese mes:");
f.mes = sc.nextLine();
System.out.println("Ingrese año");
f.año = sc.nextInt();
}
void mostrar(Persona p, Lugar l, Fecha f) {
System.out.println("Titulo:" + this.titulo + "," + this.edicion);
System.out.println("Autor:" + p.nombre + p.apellido);
System.out.println("ISBN:" + this.ISBN + ", " + this.editorial + "," + l.pais + l.ciudad + f.dia + f.numero_dia + f.mes + f.año);
System.out.println("Paginas:" + this.paginas);
}
}
Clase Persona
package examen;
public class Persona {
String nombre;
String apellido;
public Persona() {
}
public Persona(String nombre, String apellido) {
this.nombre = nombre;
this.apellido = apellido;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
}
Clase Lugar
package examen;
public class Lugar {
String pais;
String ciudad;
public Lugar() {
}
public Lugar(String pais, String ciudad) {
this.pais = pais;
this.ciudad = ciudad;
}
public String getPais() {
return pais;
}
public void setPais(String pais) {
this.pais = pais;
}
public String getCiudad() {
return ciudad;
}
public void setCiudad(String ciudad) {
this.ciudad = ciudad;
}
}
Clase Fecha
package examen;
public class Fecha {
String dia;
int numero_dia;
String mes;
int año;
public Fecha(){
}
public Fecha(String dia, int numero_dia, String mes, int año) {
this.dia = dia;
this.numero_dia = numero_dia;
this.mes = mes;
this.año = año;
}
public String getDia() {
return dia;
}
public void setDia(String dia) {
this.dia = dia;
}
public int getNumero_dia() {
return numero_dia;
}
public void setNumero_dia(int numero_dia) {
this.numero_dia = numero_dia;
}
public String getMes() {
return mes;
}
public void setMes(String mes) {
this.mes = mes;
}
public int getAño() {
return año;
}
public void setAño(int año) {
this.año = año;
}
}
Test_Libro
package examen;
public class TestLibro {
public static void main(String[] args) {
Persona p=new Persona();
Lugar l=new Lugar();
Fecha f=new Fecha();
Libro l1=new Libro();
l1.leer(p, l, f);
l1.mostrar(p, l, f);
}
}
Muestra contenido relacionado a la Programación Orientado a Objeto con el lenguaje de programación Java
martes, 13 de octubre de 2015
Solución de la Segunda Pregunta del examen TP1
sábado, 10 de octubre de 2015
pregunta 3 examen TP1
Desarrolla una clase CD con los siguientes atributos: a.canciones: un array de objetos de clase canción. b.contador la siguiente posición libre del array canciones y los siguientes métodos: c.CD():contructor predeterminado (crear array canciones). d.numeroCanciones();devuelve el valor de contador de canciones. e.dameCancion(int): devuelve la canción que se encuentra en la posición indicada f.grabaCancion(int Canción): cambia la canción de la posición indicada por la nueva canción proporcionada. g.agrea(Canción):agrega al final del array la canción proporcionada. h.elimina(int)elimina la canción que se encuentra en la posición indicada.SOLUCIÓN:
public class cancion {
private String titulo;
private String autor;
public cancion() {
}
public cancion(String titulo, String autor) {
this.titulo = titulo;
this.autor = autor;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getAutor() {
return autor;
}
public void setAutor(String autor) {
this.autor = autor;
}
public String verCancion() {
return "cancion{" + "titulo=" + titulo + ", autor=" + autor + '}';
}
}
//clase CD:
public class cd {
private ArrayList canciones;
private int indice = 0, tamanio = 30;
public cd() {
this.canciones = new ArrayList(tamanio);
}
public void agregar(cancion c) {
if (canciones.size() <= tamanio) {
canciones.add(c);
} else {
System.out.println("cd lleno");
}
}
//mostrar
public cancion getCancion(int i) {
return (cancion)canciones.get(i);
}
public int numeroCanciones() {
return canciones.size();
}
//modificar:
public void modificar(String buscar_titulo,cancion c) {
int estado=0;
for (int i = 0; i < numeroCanciones(); i++) {
if(buscar_titulo.equals(getCancion(i).getTitulo())){
estado=1;
canciones.set(i, c);
}
}
if(estado==0){
System.out.println("cancion no encontrada");
}
}
//eliminar
public void eliminar(String buscar_titulo) {
int estado=0;
for (int i = 0; i < numeroCanciones(); i++) {
if(buscar_titulo.equals(getCancion(i).getTitulo())){
estado=1;
canciones.remove(i);
}
}
if(estado==0){
System.out.println("cancion no encontrada");
}
}
}
//Main CD:
public class Maincd {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
cancion c1=new cancion("ffv", "cvcvx");
cancion c2=new cancion("f", "vx");
cancion c3=new cancion("ffvvv", "vcvx");
cd d1=new cd();
d1.agregar(c1);
d1.agregar(c3);
d1.agregar(c2);
for (int i = 0; i < d1.numeroCanciones(); i++) {
System.out.println(d1.getCancion(i).verCancion());
}
cancion c4=new cancion("u", "u");
String buscar="f";
d1.modificar(buscar, c4);
for (int i = 0; i < d1.numeroCanciones(); i++) {
System.out.println(d1.getCancion(i).verCancion());
}
String buscar_elinar="u";
d1.eliminar(buscar_elinar);
for (int i = 0; i < d1.numeroCanciones(); i++) {
System.out.println(d1.getCancion(i).verCancion());
}
}
}
CLASE LEER
import java.io.*;
public class Leer
{
public String getString()
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader (isr);
String s="";
try
{
s = br.readLine();
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
return s;
}
public int getInt()
{
String s;
int valInt=0;
s=this.getString();
try
{
valInt = Integer.parseInt(s);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
return valInt;
}
public double getDouble()
{
String s;
double aDub=0.0;
s=this.getString();
try
{
aDub = Double.parseDouble(s);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
return aDub;
}
public char getChar()
{
String s;
s="";
try
{
s = this.getString();
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
return s.charAt(0);
}
public char getCharMay()
{
String s;
s="";
try
{
s = this.getString();
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
s = s.toUpperCase();
return s.charAt(0);
}
public String getTextMay()
{
String s;
s="";
try
{
s = this.getString();
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
s = s.toUpperCase();
return s;
}
}
Primer examen resuleto del TP1(primera pregunta)
package examen;
public class Cuenta {
//los afritubos de la class Cuenta
float numero_de_cuenta = 100000;//numero asignado ala cuenta
float DNI;
float saldo_actual;
float interes_anual;
//Constructo por defecto
public Cuenta() {
}
//Constructor con DNI , saldo_actual r interes_anual
public Cuenta(float DNI, float saldo_actual, float interes_anual) {
this.DNI = DNI;
this.saldo_actual = saldo_actual;
this.interes_anual = interes_anual;
numero_de_cuenta++;//Para que el munero de cuenta se muestre asignando el siguiente numero al numero asignado
}
//Accedentes y mutadores para el numero de cuenta no habra no
public float getDNI() {
return DNI;
}
public void setDNI(float DNI) {
this.DNI = DNI;
}
public float getSaldo_actual() {
return saldo_actual;
}
public void setSaldo_actual(float saldo_actual) {
this.saldo_actual = saldo_actual;
}
public float getInteres_anual() {
return interes_anual;
}
public void setInteres_anual(float interes_anual) {
this.interes_anual = interes_anual;
}
// actualizar saldo (el interes anual dividido entre 365 aplicado al saldo actual)
public double actualizar_saldo() {
double saldo_total;
saldo_total = this.saldo_actual - (this.saldo_actual * this.interes_anual) / 36500;
return saldo_total;
}
//Ingresar cantidad en la cuenta
public double ingresar(double monto_ingresar) {
double monto = 0;
monto = actualizar_saldo() + monto_ingresar;
return monto;
}
//Cantidad a retirar de la cuenta
public double retirar(double monto_retirar) {
double monto = 0;
monto = actualizar_saldo() - monto_retirar;
return monto;
}
//Metodo mostrar
void mostrar(double x, double y) {
System.out.println("Su dni es: " + this.DNI);
System.out.println("Su interes:" + this.interes_anual);
System.out.println("Numero de cuenta:" + this.numero_de_cuenta);
System.out.println("Saldo actual:" + this.saldo_actual);
System.out.println("Saldo actualizado" + this.actualizar_saldo());
System.out.println("Saldo ingresado:" + this.ingresar(x));
System.out.println("Saldo retirado:" + this.retirar(y));
}
}
CLASE MAIN
package examen;
public class Cuenta_principal {
public static void main(String[] args) {
Cuenta c1=new Cuenta(2014,500,34);
c1.mostrar(100,100);
c1.ingresar(100);
}
}
jueves, 8 de octubre de 2015
Lenguaje de programación orientado a objetos
LENGUAJE DE PROGRAMACION ORIENTADA A OBJETOS
DEFINICION DE LENGUAJE POO:
Antes de establecer
los elementos del lenguaje, es necesario tener presentes los conceptos básicos
de la programación orientada a objetos porque la sintaxis y el formato de Java
están plenamente apegados a ellos.
Para empezar, todo
parte del hecho de que el desarrollo de la programación de computadoras entró
en crisis en los años 60 y 70 del s. XX porque las aplicaciones a menudo hacían
cosas raras. Un caso es el del Centro de Cómputo Noruego en Oslo en el que
desarrollaban simuladores de vuelo; sucedía, cuando los ejecutaban, que las
naves colisionaban. Un análisis del problema probó que la aplicación confundía
las características entre uno y otro objeto simulado; es decir, que la cantidad
de combustible, la posición en el espacio o la velocidad de una nave eran atribuidas
a otra. Se concluyó que esto se debía al modo como programaban y que los
lenguajes de entonces eran incapaces de resolver el problema. Ante esto, los
expertos del Centro Noruego desarrollaron Simula 67 que fue el primer lenguaje
orientado a objetos.
Así que la POO es una manera de diseñar y desarrollar software que trata de imitar la realidad tomando algunos conceptos esenciales de ella; el primero de éstos es, precisamente, el de objeto, cuyos rasgos son la identidad, el estado y el comportamiento. No debemos dejarnos intimidar por estas expresiones, son muy simples:
·
La identidad es el nombre que distingue a un
objeto de otro.
·
El estado son las características que lo
describen.
·
El comportamiento es lo que puede hacer.
Se debe tener
presente que los objetos, sean reales o su proyección en software,
se abstraen en clases. Por ejemplo: de la clase perro pueden existir dos
objetos Fido y Firuláis (esta es su identidad). Fido es un san bernardo enorme,
pinto, de 5 años de edad; mientras que Firuláis es un labrador, negro, de 3
años (este es su estado). Ambos perros ladran, merodean, juguetean, comen y
duermen (este es su comportamiento).
Si nos pidieran que hiciéramos un programa orientado a objetos que simulara lo anterior haríamos la clase Perro que tendría las variables raza, color y edad, y los métodos ladrar(), merodear(), juguetear(), comer() y dormir(). Firuláis y Fido son los identificadores que podríamos usar en una aplicación que pretenda mostrar dos objetos de la clase Perro.
FUNDAMENTOS
La POO es una técnica para desarrollar soluciones computacionales
utilizando componentes de software (objetos desoftware).
Objeto: Componente o código de software que contiene en
sí mismo tanto sus características (campos) como sus comportamientos (métodos);
se accede a través de su interfaz o signatura.
Campo: Es una característica de un objeto, que ayuda a definir su
estructura y permite diferenciarlo de otros objetos. Se define con un
identificador y un tipo, el cual indica los valores que puede almacenar. El
conjunto de valores de los campos definen el estado del objeto.
Método: Es la implementación de un algoritmo que representa una operación
o función que un objeto realiza. El conjunto de los métodos de un objeto
determinan el comportamiento del objeto.
La POO es un paradigma de la programación de computadores; esto hace
referencia al conjunto de teorías, estándares, modelos y métodos que permiten
organizar el conocimiento, proporcionando un medio bien definido para
visualizar el dominio del problema e implementar en un lenguaje de programación
la solución a ese problema.
Una ventaja de la POO frente al paradigma algorítmico es la facilidad
que brinda a través de sus herramientas, de concebir, analizar, modelar,
diseñar e implementar el mundo real de manera fiel a como se presenta en la
realidad; el paso que hay desde la concepción y asimilación del problema hasta
la implementación del mismo es un proceso que se hace de manera casi natural.
Esto porque el mundo está lleno de objetos reales, los cuales se pueden
representar como tales en una solución computarizada.
Modularidad
Proceso de crear partes de un todo que se integran perfectamente entre
sí para que funcionen por un objetivo general, y a las cuales se les pueden
agregar más componentes que se acoplen perfectamente al todo, o extraerle
componentes sin afectar su funcionamiento. En el caso que se requiera
actualizar un módulo, no hay necesidad de hacer cambios en otras partes del
todo. Un ejemplo clásico es un conjunto de módulos que, al integrarlos
conforman un armario, el cual puede agregarle más funcionalidad si se le
agregan más módulos, o al contrario. También se puede cambiar su finalidad si
se acomodan esos módulos para darle otro objetivo: volverlo una mesa.
Esto ayuda a la descomposición de problemas en subproblemas, es decir,
a la solución de problemas por composición de soluciones a subproblemas.
Reutilización
Capacidad de usar un mismo código para varias implementaciones o
necesidades (desarrollos); para esto se debe tener en cuenta:
- Polimorfismo: Esta propiedad indica
que un elemento puede tomar distintas formas. Podemos definirlo como el
uso de varios tipos en un mismo componente o función. Por ejemplo, una
función que sume dos operandos, la cual maneja, o dos números o dos
cadenas, para retornar un total de una suma o de una concatenación.
También se denomina subsumption (más delante de detalla
este concepto).
- Genericidad: Usar algoritmos
genéricos para resolver varias situaciones, como acceso a varios motores
de bases de datos de forma transparente, como el PEAR de PHP. Consiste en
parametrizar una función con varios tipos de datos donde ella misma en su
cuerpo decida cómo operar, como la ut0110.4gl.
- Operaciones
Relacionadas: Todas
las operaciones de un módulo deben estar dentro de él, como parte de su
cuerpo ...
- Caja
negra: Saber
qué entra y qué sale (la interfaz del módulo: signatura) y no cómo lo hace
(su implementación), como la co0020.4gl.
- Sobrecarga: Modalidad de herencia
que permite usar el mismo módulo para diferentes implementaciones de una
operación, es decir, usando diferente signatura: una función que pueda
recibir un parámetro, o dos, o ninguno; pero opera correctamente con
cualquiera de ellos con que se lo invoque, está sobrecargada; por ejemplo,
la función saludar(), cuando va sin parámetros retorna la cadena “Hola”,
cuando se invoque con un nombre, (saludar(var_nombre)), retorna “Hola var_nombre”,
y así sucesivamente. Esto debe manejarse por código dentro de la función.
La reutilización es la principal característica de la POO, la cual se logra mediante:
- Encapsulación de información: Ocultamiento de información, datos o funciones especiales a los usuarios. En el caso de la programación, el encapsulamiento es lo que permite que tanto la estructura (campos) como el comportamiento (métodos) se encuentren dentro del mismo cuerpo de código de la clase con la que se crean los objetos. Dentro de la clase se deben agrupar tanto la información o datos de los campos como las operaciones o métodos o funciones que operan sobre esta información
- Herencia: Propiedad que permite a los objetos ser construidos a partir de otros; es recibir de un módulo superior sus características, tales como atributos o funciones (campos y métodos o comportamientos), para usarlos en el módulo actual. Heredar es compartir atributos
- Sobre escritura ( override ): Posibilidad de heredar un método de un módulo y cambiarle el comportamiento en el heredero, con la opción de poder usar el original, si se desea.
- Métodos unidos a los objetos: los métodos de un objeto son inseparables y siempre formarán parte de su cuerpo, como un todo.
- Noción de self : unicidad de los objetos; son únicos y no se repiten, aunque sean de la misma clase. Así como se puede definir varias variables del tipo INT cada una de las cuales es única, se puede crear o instanciar varios objetos de una misma clase.
Ejemplos:
Lenguajes imperativos:
- BASIC
- C
- C++
- Java
- C#
- Perl
- unerg
Híbridos:
- Lisp
- Scheme
- Ocaml
- Standard ML
- ML
- Scala
Puros:
- Haskell
- Miranda
Lenguajes
orientados a objeto
- C++
- Objective C
- Java
- Smalltalk
- Eiffel
- Java
- Actionscript
- COBOL
- Perl
- C#
- Visual Basic.NET
- PHP
- Lexico (en castellano)
- Ruby
- Python
- OCAML
- Object Pascal
- CLIPS
- Visual .net
VENTAJAS
Los lenguajes orientados a objetos presentan las siguientes ventajas:
· Agiliza el desarrollo de software
· Facilita el trabajo en equipo
· Facilita el mantenimiento del software
· Fomenta la reutilización y extensión del código.
· Permite crear sistemas más complejos.
· Relacionar el sistema al mundo real.
· Facilita la creación de programas visuales.
· Construcción de prototipos
DESVENTAJAS
A pesar de que las ventajas de la programación orientada a objetos superan a las limitaciones de la misma, podemos encontrar algunas características no deseables en ésta.
Limitaciones para el programador. No obstante que la tecnología orientada a objetos no es nueva, un gran porcentaje de programadores no están familiarizados con los conceptos de dicha tecnología. En otras palabras, la lógica de la programación estructurada sigue siendo predominante en la mayoría de los desarrolladores de software, después de haber revisado de forma breve los principios de la programación orientada a objetos, nos es claro que en ésta se requiere una lógica de pensamiento totalmente diferente a la lógica comúnmente utilizada para la programación estructurada.
Tamaño excesivo en las aplicaciones resultantes. La gran mayoría de los equipos de cómputo cuentan con capacidades tanto de almacenamiento como de memoria lo suficientemente buena como para ejecutar la mayoría de las aplicaciones que puedan desarrollarse con la tecnología orientada a objetos, sin embargo existen casos en los que lo anterior no se cumple. Una de las desventajas de la programación orientada a objetos es que cuando se heredan clases a partir de clases existentes se heredan de forma implícita todos los miembros de dicha clase aun cuando no todos se necesiten, lo que produce aplicaciones muy grandes que no siempre encajan en los sistemas con los que se disponga.
paradigma de programacion
Un paradigma define un conjunto de reglas, patrones y estilos de programación que son usados por un grupo de lenguajes de programación
• Paradigma funcional
• Paradigma lógico
• Paradigma imperativo
• Paradigma orientado a objetos Paradigma funcional
• La computación se realiza mediante la evaluación de expresiones
Paradigma funcional
• La computación se realiza mediante la evaluación de expresiones
• Definición de funciones
• Funciones como datos primitivos
• Valores sin efectos laterales, no existe la asignación
• Programación declarativa
• Lenguajes: LISP, Scheme, Haskell
Paradigma funcional
• La computación se realiza mediante la evaluación de expresiones
• Definición de funciones
• Funciones como datos primitivos
• Valores sin efectos laterales, no existe la asignación
• Programación declarativa
• Lenguajes: LISP, Scheme, Haskell
Paradigma imperativo
• Definición de procedimientos
• Definición de tipos de datos
• Chequeo de tipos en tiempo de compilación
• Cambio de estado de variables
• Pasos de ejecución de un proceso
Paradigma orientado a objetos
• Definición de clases y herencia
• Objetos como abstracción de datos y procedimientos
• Polimorfismo y chequeo de tipos en tiempo de ejecución
• Ejemplo en Java
AQUÍ LES DEJO UN PEQUEÑO VÍDEO QUE RESUME MEJOR LOS PARADIGMAS DE PROGRAMACIÓN
miércoles, 7 de octubre de 2015
CONCEPTOS FUNDAMENTALES DE LA POO
JAVA
Java es un lenguaje de programación
orientado a objetos que se popularizó a partir del lanzamiento de su
primera versión comercial de amplia difusión, la JDK 1.0 en 1996.
Actualmente es uno de los lenguajes más usados para la programación en todo el
mundo.
Características
de Java
·
Simple
Reduce
en un 50% los errores más comunes de programación en lenguajes como C y C++ al eliminar aritmética de punteros, referencias, necesidad de liberar memoria.
·
Robusto
Java
realiza verificaciones en busca de problemas tanto en tiempo de compilación com en tiempo de ejecución.
·
Arquitectura
neutral
El
código compilado tiene un formato independiente de la arquitectura de la máquina
en que se ejecutará.
·
Seguro
No
usa punteros para prevenir el acceso ilegal a la memoria.
·
Interpretado
Requiere
un runtime (JRE) para ser ejecutado, lo que lo hace 10 veces más lento que un programa C compilado.
·
Orientado
a objetos
Soporta
las tres características propias del paradigma de la orientación a objeto encapsulamiento, herencia y polimorfismo
·
Distribuido
Se
ha construido con extensas capacidades de interconexión TCP/IP, presenta librerías con protocolos http y ftp para obtener información a través de la
red.
JDK
Java Development Kit o (JDK), es un software que
provee herramientas de desarrollo para la creación de programas en java. Puede
instalarse en una computadora local o en una unidad de red.
En los sistemas Windows sus variables de entorno son
· JAVAPATH: es un path completo del directorio donde está instalado el JDK.
·
CLASSPATH: son
las librerias o clases de usuario.
·
PATH:
variable donde se agrega la ubicación de JDK
Los programas más importantes que se incluyen son:
· Appletviewer:
es un visor de applet para generar sus vistas previas.
·
Javac: es el
compilador de JAVA.
·
java: es el
intérprete de JAVA.
·
javadoc:
genera la documentación de las clases java de un programa.
El JDK tiene el compilador que permite convertir
código fuente en bytecode, es decir, el código "maquina" de la
máquina virtual de Java.
MVJ
Una Máquina virtual Java (en inglés Java Virtual
Machine, JVM) es un programa nativo, es decir, ejecutable en una plataforma
específica, capaz de interpretar y ejecutar instrucciones expresadas en un
código binario especial (el Java bytecode), el cual es generado por el
compilador del lenguaje Java.
La JVM es una de las piezas fundamentales de la
plataforma Java. Básicamente se sitúa en un nivel superior al Hardware del
sistema sobre el que se pretende ejecutar la aplicación, y este actúa como un
puente que entiende tanto el bytecode, como el sistema sobre el que se pretende
ejecutar. Así, cuando se escribe una aplicación Java, se hace pensando que será
ejecutada en una máquina virtual Java en concreto, siendo ésta la que en última
instancia convierte de código bytecode a código nativo del dispositivo final.
La gran ventaja de la máquina virtual java es aportar
portabilidad al lenguaje de manera que desde Sun Microsystems se han creado
diferentes máquinas virtuales java para diferentes arquitecturas y así un
programa .class escrito en un Windows puede ser interpretado en un entorno
Linux. Tan solo es necesario disponer de dicha máquina virtual para dichos
entornos. De ahí el famoso axioma que sigue a Java, "escríbelo una vez,
ejecútalo en cualquier parte", o "Write once, run anywhere".
JRE
(Java Runtime Environment) un conjunto de utilidades que
permite la ejecución de programas java, En su forma más complicada, el entorno
en tiempo de ejecución de Java está conformado por una Máquina Virtual de Java
o JVM, un conjunto de Java y otros componentes innecesarios para que una
aplicación escrita en lenguaje c++ pueda ser ejecutada. El JRE actúa como un
"intermediario" entre el sistema y Java.
La JVM es el programa que interpreta el código Java
mientras que las librerías de clases estándar son las que implementan el API de
Java. Ambas JVM y API deben ser consistentes entre sí, de ahí que sean
distribuidas de modo conjunto.
Un usuario sólo necesita el JRE para ejecutar las
aplicaciones desarrolladas en lenguaje Java, mientras que para desarrollar
nuevas aplicaciones en dicho lenguaje es necesario un entorno de desarrollo,
denominado JDK, que además del JRE (mínimo imprescindible) incluye, entre
otros, un compilador para Java.
Suscribirse a:
Entradas (Atom)













