0% encontró este documento útil (0 votos)
137 vistas

TEMA 6 - Introducción A Java

El documento habla sobre la programación orientada a objetos en Java. Explica que Java es un lenguaje compilado e interpretado que es multiplataforma y orientado a objetos. También describe algunos conceptos clave de POO como abstracción, encapsulamiento, herencia y polimorfismo. Finalmente, detalla algunos temas relacionados con la creación de objetos en Java como atributos, métodos, constructores, memoria estática y dinámica, y destrucción de objetos.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
137 vistas

TEMA 6 - Introducción A Java

El documento habla sobre la programación orientada a objetos en Java. Explica que Java es un lenguaje compilado e interpretado que es multiplataforma y orientado a objetos. También describe algunos conceptos clave de POO como abstracción, encapsulamiento, herencia y polimorfismo. Finalmente, detalla algunos temas relacionados con la creación de objetos en Java como atributos, métodos, constructores, memoria estática y dinámica, y destrucción de objetos.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

TEMA 6 – PROGRAMACIÓN ORIENTADA A OBJETOS (POO).

FUNDAMENTOS

Lenguaje de programación Java

• Es un lenguaje compilado e interpretado. El código se debe compilar para cada SO en


el que deseemos usarlo. Una vez compilado, se obtiene el código bytecode, que se
interpreta a través de una máquina virtual llamada JRE (Java Enviroment Runtime),
escrita en el código nativo de la plataforma.
• Es un lenguaje multiplataforma. El código binario resultante del compilador Java es de
tipo universal, por lo que se puede ejecutar en cualquier tipo de máquina virtual que
admita la versión usada. Java es un tipo de lenguaje denominado write once run
anywhere (escribe una vez, ejecuta en cualquier parte).
• Es orientado a objetos. El principal módulo de programación son las clases. No
permite que existan funciones independientes. Cualquier variable o método usado
debe pertenecer a una clase.
• Gran biblioteca de librerías. Java cuenta con una gran colección de clases agrupadas
en directorios. Sirven para realizar determinadas tareas sin tener que implementarlas.

Para programar en Java existen gran cantidad de IDE (Entorno Integrado de Desarrollo) como
Eclipse, Intellij Idea o NetBeans. Además, necesitamos la herramienta de desarrollo JDK (Java
Development Kit) que nos proporciona todo los necesario para escribir y compilar en Java. Eso
sí, el programa solo se escribe una vez pero hay que compilarlo para cada SO utilizado.

Al crear un nuevo proyecto, tendremos una capeta llamada src que tendrá los paquetes y
clases de Java de nuestra app. Los paquetes son los directorios o contenedores de clases
donde se agrupan las que tienen el mismo propósito y las clases son ficheros de código que
hay que compilar que tienen .java y que darán los bytecode. Esta compilación da lugar a los
ficheros .class.

Reglas para los nombres de las clases:

• Deben empezar por mayúsculas


• En singular
• Nombre descriptivo
• Usar nomenclatura CamelCase
• No usar caracteres especiales como ñ o ç

En todo proyecto debe existir, como mínimo, una clase de entrada. Puede tener cualquier
nombre pero debe tener una función llamada main.

Los comentarios se escriben con // o /* */

6.1 Introducción a la programación orientada a objetos

La POO pretende acercarse más a la realidad de manera que los elementos de un programa se
puedan ajustar, en la medida de lo posible, a los diferentes elementos de la vida cotidiana.

Las propiedades más importantes de la POO:

• Abstracción. Nos basamos solo en qué hace el objeto y para qué se ha creado,
olvidando otros factores como implementación.
• Encapsulamiento. Ocultar los datos de los objetos al mundo exterior, de modo que del
objeto solo se conozca su esencia y que queremos hacer con él.
• Modularidad. Los objetos pueden ser independientes los unos de los otros y podrán
ser reutilizados.
• Jerarquía (Herencia). Vamos a tener objetos que descienden de otros.
• Polimorfismo. Podemos tener varios métodos con el mismo nombre pero que pueden
recibir un nº distinto de parámetros y en función de esos parámetros, hará una cosa u
otra.

Java se diferencia de otros lenguajes por:

• Independencia de plataforma. Aplicaciones que corren en cualquier hardware o SO.


• Fácil de aprender. Es el más usado en los entornos educativos, ya que viene con
herramientas fáciles de manejar.
• Basado en estándares
• Se usa a nivel mundial
• Entornos runtime consistentes. Su función es intermediar entre el SO y Java. Formado
por la máquina virtual de Java, bibliotecas y otros elementos.
• Optimizado para controlar dispositivos
• Recolector de basura. Su función ppal es eliminar de forma automática aquellos
objetos que no hacen referencia a un espacio determinado de memoria.

6.1.1 Tipos de datos primitivos

En Java, son los tipos numéricos, carácter y lógico. Son eficaces porque consumen menos
cantidad de memoria y permiten realizar cálculos en el menor tiempo posible.

• Tipos numéricos enteros. Podemos usar short (16 bits), int (32 bits) o long (64
bits). Hay que tener en cuenta el espacio que ocupan en memoria.
• Tipos numéricos reales. También coma flotante, son aquellos que permiten realizar
diferentes cálculos con decimales. Pueden ser float (32 bits) o double (64 bits).
• Tipo char. Se usa para representar un carácter Unicode. Existen varias clases para el
manejo de estas cadenas de caracteres y hay métodos que nos facilitan el trabajo.
Contempla números del 0 al 9, letras (mayúsculas/minúsculas). Su valor va dentro de
comillas simples. Tamaño de 16 bits.
• Tipo boolean. Solo almacena los posibles valores true o false.
• Arrays y tablas. Podemos crear tablas, matrices y estructuras.

int numero = 1;
float numerocoma = 3.16;
char letra = ‘a’;
boolean verdad = true;
int[ ] vector = new int[5];
Las reglas para usar arrays y tablas:

• El primer índice es 0 y los valores de este van hasta n-1 posición.


• Java comprueba índices, por lo que si intentamos acceder a uno que no está, lanzará la
excepción IndexOutOfBoundException.
• Solo se puede dar valor a un array de forma completa al declararlo. Después, solo
podremos dar valores de forma individual.
• Es posible hacer una copia de un array por asignación, aunque con limitaciones.

Se pueden almacenar en variables o constantes.


Variables

Son similares a C#. En Java tenemos int, float, char, boolean, etc.

Para cadenas de texto, debemos usar un tipo de dato no primitivo llamado String:

String txt;
txt = ‘Hola mundo’;
Todas las variables deben ser declaradas. Si no se le asigna valor, es un valor desconocido,
donde NO suponemos que sea 0. Siempre que se declaren, hay que asignarles un valor.

Constantes

Se utiliza la palabra reservada final. Esto provoca que el valor no pueda ser alterado:

final String txt = “Hola mundo”;


Expresiones

Combinación de valores, variables y operadores. Las expresiones simples son aquellas en las
que intervienen un único operador. Por ejemplo, el =

Las expresiones complejas aparecen más de uno, de forma que podamos evaluar
subexpresiones por separado y usar sus resultados para calcular un resultado final.

Los operadores numéricos en Java son: +, -, *, / y %

6.2 Definición de objetos y características

Un objeto es un conjunto de atributos (características) y métodos (comportamientos) que se


pueden realizar. Estos conceptos forman una unidad conceptual y operacional. Son casos
específicos de unas entidades llamadas clases.

Podríamos decir que un objeto es un contenedor de datos mientras que una clase es un molde
para construir el objeto.

Ejemplo: declarar un objeto coche, que sus atributos son: color, marca, modelo y algunos de
sus métodos son acelerar, frenar, cambiar de velocidad.

Los objetos usan los atributos en forma de variables y los métodos como funciones.

Los nombres de los atributos y métodos empiezan en minúscula, ya que empezar en


mayúscula es señal de ser una clase.

public class Coche{


private String marca;
private String modelo;
public coche (String marca, String modelo){
this.marca = marca;
this.modelo = modelo;
}
public void acelerar();
public void frenar();
}
Coche coche1 = new Coche(“Kia”, “Caren”);
Coche coche2 = new Coche(“Kia”, “Picanto”);
coche1.acelerar();
coche2.frenar();

6.4 Utilización de métodos

Los métodos son las funciones propias que tiene una clase que pueden acceder a sus atributos.

Encontramos como funciones de lectura (getter) como de escritura (setter) de estos atributos.
Se usan para reforzar la encapsulación, ya que permite que podamos extraer/añadir
información de los objetos sin conocer más detalles de implementación.

6.5 Utilización de propiedades

Para usar los métodos de una clase, lo primero es crear una clase con sus atributos y métodos.
Después, en otra clase (main por ejemplo), creamos el objeto y podremos usar todas sus
propiedades. Para acceder:

Coche coche1 = new Coche(“Kia”, “Caren”);


coche1.acelerar();

6.6 Utilización de métodos estáticos

Se pone por delante la palabra reservada static. Según donde la usemos hará una cosa u otra:

• En atributos. Quiere decir que ese atributo se ubica en una zona especial de memoria
y que será el mismo para todos los objetos que creemos de esa clase. Si se modifica el
valor, afecta a todos los objetos.
• En métodos. Este pasa a convertirse en un método de clase. Podremos invocar al
método sin tener que crear un objeto de la clase.

6.7 Constructores

Son unas funciones especiales que permiten crear objetos de la clase en la que se encuentran.
Características:

• Por lo general son públicos, aunque pueden ser privados


• Tienen el mismo nombre que la clase
• Puede haber varios, en función del nº de parámetros que reciban
• Si no se especifica ninguno, existe uno por defecto que no recibe parámetros
6.8 Memoria: gestión dinámica delante de gestión estática; posibilidad del lenguaje

En programación disponemos de dos tipos de memoria: estática y dinámica. La memoria


estática es aquella en la que una variable ya creada no puede aumentar ni disminuir su tamaño
que ocupa en memoria. Por otro lado, la memoria dinámica se modificará en tiempo de
ejecución.

En Java, la memoria se divide en dos zonas independientes:

• Stack (o pila). Donde se almacenan variables, referencias, parámetros y valores de


retorno.
• Heap. Donde se almacenan objetos y variables de instancia.

6.9 Destrucción de objetos y liberación de memoria

En algunos lenguajes, existen funciones especiales que se ejecutan de forma automática para
eliminar objetos. No devuelven nada, ni siquiera void, ni reciben nada.

También existe el Garbage Collector, que es un recolector de basura automático. Java utiliza
este, donde antes de barres el objeto no usado, llama al método finalize() y después lo
destruye.

También podría gustarte