JAVA
JAVA
JAVA
● Herencia: las clases no están aisladas, sino que se relacionan entre sí,
formando una jerarquía de clasificación. Los objetos heredan las propiedades y
el comportamiento de todas las clases a las que pertenecen. La herencia
organiza y facilita el polimorfismo y el encapsulamiento, permitiendo a los
objetos ser definidos y creados como tipos especializados de objetos
preexistentes. Estos pueden compartir (y extender) su comportamiento sin
tener que volver a implementarlo. Esto suele hacerse habitualmente
agrupando los objetos en clases y estas en árboles o enrejados que reflejan un
comportamiento común. Cuando un objeto hereda de más de una clase se
dice que hay herencia múltiple.
● Dado que pueden existir varios objetos del mismo tipo, con las mismas
características y funcionalidades, se crean las clases, que representan los modelos
ideales de un objeto, una plantilla a partir de la cual se pueden crear objetos que
compartan esas características y funcionalidades; así, tomando en cuenta algunos
de los ejemplos de objetos mencionados anteriormente, algunas clases serían:
Clase Transacción, Clase Rectángulo, Clase Persona, Clase Factura; esto significa
que cada vez que se requiera una transacción se creará un objeto basado en la
plantilla Transacción; cuando se requiera un objeto rectángulo se creará a partir
de la plantilla Rectángulo; y así con cada uno de los objetos, siempre que se
requiera un objeto de un tipo específico con unas características y funcionalidades
se deberá crear una plantilla (clase) que será el modelo para todos los objetos de
ese tipo. Luego cada objeto será personalizado, al recibir valores para cada uno de
los atributos especificados en su plantilla.
● Los lenguajes orientados a objetos más modernos (por ejemplo Java o C#)
añaden la construcción de propiedad, que es una sintaxis simplificada para
dichos métodos:
8. tipo Propiedad {
9. get {
10. }
11. set {
12. }
13. }
1. class Nombre {
2. // Variables miembro (habitualmente privadas)
3. miembro_1; //lista de miembros
4. miembro_2;
5. miembro_3;
6.
7. // Funciones o métodos (habitualmente públicas)
8. funcion_miembro_1( ); // funciones miembro conocidas
9. funcion_miembro_2 ( ); // funciones como métodos
10.
11. // Propiedades (habitualmente públicas)
12. propiedad_1;
13. propiedad_2;
14. propiedad_3;
15. propiedad_4;
16. }
● Campos de datos:
Tipo_de_variable[ ] Nombre_del_array;
Nombre_del_array = new Tipo_de_variable[dimensión];
El tipo de variable puede ser cualquiera de los admitidos por Java y que ya hemos explicado.
Ejemplos de declaración e inicialización con valores por defecto de arrays usando todos los tipos de
variables Java, serían:
Para cadenas
String[ ] nombre = {"María", "Gerson"}; //Array de 2 elementos
Para caracterers
char[ ] sexo = {'m', 'f'}; //Array de 2 elementos
Para booleanos
boolean[ ] = {true,false}; //Array de 2 elementos
Las variables de una clase se llaman campos. La clase Publicacion tiene tres
campos, idPublicacion que identifica de forma unívoca cada publicación, titulo
que es el título de la publicación y autor que ha firmado la publicación.
Cuando se construye un objeto es necesario inicializar sus variables con valores coherentes, imaginemos un objeto
de la clase Persona cuyo atributo color de pelo al nacer sea verde, un estado incorrecto tras construir el objeto
persona. La solución en los lenguajes orientados a objetos es emplear los constructores. Un constructor es un
método perteneciente a la clase que posee unas características especiales:
Para modifVisibilidad se aplica las mismas normas que para atributos y métodos:
● public: indica que es un método accesible a través de una instancia del objeto.
● private: indica que a través de una instancia no es accesible el método. Al heredar el método se convierte
en inaccesible.
● protected: indica que a través de una instancia no es accesible el método. Al heredar si se puede usar
desde la clase derivada.
● Sin especificar: indica visibilidad de paquete, se puede acceder a través de una instancia, pero sólo de
clases que se encuentren en el mismo paquete.
listaParámetros es la lista de los parámetros que tomará la función separados por comas y definidos cada uno de
ellos como:
tipo nombreParámetro
/**
* Constructor 1
*/
public Fecha() {
/**
* Constructor 2
*/
return this.dia + "/" + this.mes + "/" + this.anho;
SENTENCIA IF-ELSE
Es una bifurcación o sentencia condicional de una o dos ramas. La
sentencia de control evalúa la condición lógica o booleana. Si esta
condición es cierta entonces se ejecuta la sentencia o sentencias
(1) que se encuentra a continuacion. En caso contrario, se ejecuta
la sentencia (2) que sigue a else (si ésta existe). La sentencia
puede constar opcionalmente de una o dos ramas con sus
correspondientes sentencias.
Sintaxis:
if (expresionLogica) {
sentencia_1;
}
o bien (con dos ramas):
if (expresionLogica) {
sentencia_1;
} else {
sentencia_2;
}
SENTENCIA FOR
Es un bucle o sentencia repetitiva que
Sintaxis:
sentencia;
sentencia_1;
sentencia_2;
sentencia_n;
sentencia;
}
System.out.println(5 + " * " + i + " = " + 5 * i);
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50
Sintaxis:
[inicializacion;]
while (expresionLogica) {
sentencias;
[iteracion;]
Sintaxis:
do {
sentencias;
[iteracion;]
} while (expresionLogica);
Tipos de ámbito
En Java tenemos tres tipos de ámbito que pueden aplicar a una variable:
● Local
● Global
● Estático
Veamos un fragmento de código donde aparecen los tres tipos, antes de pasar a explicar
con un mínimo de detalle cada uno de ellos:
int variableGlobal;
int variableLocal;
}
Variables de ámbito local
Las variables de ámbito local, o de bloque, son aquellas que sólo pueden ser accedidas
desde el bloque de código en el que han sido declaradas (que no inicializadas).
int variableGlobal;
void miMetodo() {
System.out.println("Valor de variableGlobal: " + variableGlobal);
void otroMetodo() {
Variables estáticas
Las variables estáticas, o de clase, son aquellas que pertenecen a la propia clase donde
han sido declaradas, y dependiendo del modificador de visibilidad usado podrían ser sólo
accedidas desde la propia clase en la que han sido declaradas:
}
public class OtraClase {
void metodo() {
System.out.println("Valor de UnaClase.variableEstatica:" +
UnaClase.variableEstatica);
Reduciendo el ámbito
La siguiente frase debes grabarla a fuego en tu cabeza desde este mismo momento:
Cuando una variable es declarada con un ámbito más extenso del necesario, es sólo
cuestión de tiempo que usemos esa variable de forma incorrecta, provocando confusión e
invitádonos a introducir bug's (si es que el ámbito incorrecto no es en si mismo ya un
bug...). Vamos a ilustrarlo con un ejemplo:
int totalEncontrados = 0;
encontrado = true;
if (encontrado) {
totalEncontrados++;
return totalEncontrados;
}
}
Total resultados: 2
public Sí Sí Sí Sí
protected Sí Sí Sí No
No especificado Sí Sí No No
private Sí No No No
NetBeans es un programa que sirve como IDE (un entorno de desarrollo integrado) que
nos permite programar en diversos lenguajes.
NetBeans es ideal para trabajar con el lenguaje de desarrollo JAVA (y todos sus
derivados), así como también nos ofrece un excelente entorno para programar en PHP.
También se puede descargar una vez instalado NetBeans, los complementos para
programar en C++. La IDE deNetBeans es perfecta. Tiene un excelente balance entre una
interfaz con múltiples opciones y el editor puede autocompletar nuestro código.
31. Estructura Básica de un Proyecto de NetBeans
https://tecnologiapreu.wordpress.com/2017/08/14/programacion-orientada-a-objetos-vs
-programacion-estructurada/
https://algonzalezpoo.wordpress.com/caracteristicas-de-poo/
https://aprendiendoarduino.wordpress.com/2017/07/08/clases-y-objetos/
https://es.wikipedia.org/wiki/Clase_(inform%C3%A1tica)
http://www.upv.es/amiga/43.htm
http://www.codexion.com/tutorialesjava/java/javaOO/classdecl.html
https://www.mundojava.net/definicion-de-constructores-de-una-clase.html?Pg=java_inici
al_4_4_5.html
https://javadesdecero.es/basico/ambito-variables-scope/
https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id
=665:public-private-y-protected-javatipos-de-modificadores-de-acceso-visibilidad-en-clase
s-subclases-cu00693b&catid=68&Itemid=188