JAVA

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 27

1. ¿Qué es la POO?

● La Programación Orientada a Objetos es un paradigma de programación que viene


a innovar la forma de obtener resultados. Los objetos manipulan los datos de
entrada para la obtención de datos de salida específicos, donde cada objeto ofrece
una funcionalidad especial.

● La programación Orientada a objetos (POO, u OOP según sus siglas en inglés) es un


paradigma de programación que usa objetos en sus interacciones, para diseñar
aplicaciones y programas informáticos. Está basada en varias técnicas, incluyendo
herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.

● Un programa orientado a objetos se compone solamente de objetos, cada uno de


ellos es una entidad que tiene unas propiedades particulares, los atributos y las
formas de operar de ellos los métodos. Por ejemplo esta página Web es un objeto,
tiene colores de fondo, anchura y altura, etc.

● Programación Orientada a Objetos en Java.​ La programación orientada a objetos


(POO) es un paradigma de programación que usa objetos para crear aplicaciones.
Está basada en tres pilares fundamentales: herencia, polimorfismo, encapsulación.
Su uso se popularizó a principios de la década de 1990.

2. ¿Cuál es la diferencia entre la POO y PE?


● La programación estructurada es muy útil cuando se necesita realizar correcciones
o modificaciones ya que está representada por un diagrama de flujo que es mucho
más fácil para entender la codificación de un determinado programa mientras que
la P.O.O se basa en la forma en que expresaríamos las cosas en la vida real a
diferencia de la estructurada.

● Los programas elaborados en programación estructurada son mucho más fácil de


entender, ya que pueden ser leídos en secuencia, de arriba hacia abajo, sin ningún
problema y se detectan fácilmente los problemas y fallas debido a que su lógica es
mucho más visible que la de la P.O.O.

● La P.O.O es mucho más moderna que la estructurada y permite reutilizar códigos


previamente elaborados para continuar con la elaboración de un programa.

● La programación estructural se basa en 3 tipos de técnicas: secuencial, selectiva y


repetitiva y la P.O.O depende de varias técnicas como lo son la herencia, cohesión,
abstracción polimorfismo, acoplamiento, y encapsulamiento.
3. Características de la POO
● Abstracción​: denota las características esenciales de un objeto, donde se
capturan sus comportamientos. Cada objeto en el sistema sirve como modelo
de un "agente" abstracto que puede realizar trabajo, informar y cambiar su
estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se
implementan estas características. Los procesos, las funciones o los métodos
pueden también ser abstraídos, y, cuando lo están, una variedad de técnicas
son requeridas para ampliar una abstracción. El proceso de abstracción
permite seleccionar las características relevantes dentro de un conjunto e
identificar comportamientos comunes para definir nuevos tipos de entidades en
el mundo real. La abstracción es clave en el proceso de análisis y diseño
orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto
de clases que permitan modelar la realidad o el problema que se quiere atacar.

● Encapsulamiento​: significa reunir todos los elementos que pueden


considerarse pertenecientes a una misma entidad, al mismo nivel de
abstracción. Esto permite aumentar la cohesión de los componentes del
sistema. Algunos autores confunden este concepto con el principio de
ocultación, principalmente porque se suelen emplear conjuntamente.

● Modularidad​: se denomina modularidad a la propiedad que permite subdividir


una aplicación en partes más pequeñas (llamadas módulos), cada una de las
cuales debe ser tan independiente como sea posible de la aplicación en sí y de
las restantes partes. Estos módulos se pueden compilar por separado, pero
tienen conexiones con otros módulos. Al igual que la encapsulación, los
lenguajes soportan la modularidad de diversas formas.

● Principio de ocultación​: cada objeto está aislado del exterior, es un módulo


natural, y cada tipo de objeto expone una interfaz a otros objetos que
especifica cómo pueden interactuar con los objetos de la clase. El aislamiento
protege a las propiedades de un objeto contra su modificación por quien no
tenga derecho a acceder a ellas; solamente los propios métodos internos del
objeto pueden acceder a su estado. Esto asegura que otros objetos no puedan
cambiar el estado interno de un objeto de manera inesperada, eliminando
efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan
esto, permitiendo un acceso directo a los datos internos del objeto de una
manera controlada y limitando el grado de abstracción. La aplicación entera se
reduce a un agregado o rompecabezas de objetos.

● Polimorfismo​: comportamientos diferentes, asociados a objetos distintos,


pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el
comportamiento correspondiente al objeto que se esté usando. O, dicho de
otro modo, las referencias y las colecciones de objetos pueden contener
objetos de diferentes tipos, y la invocación de un comportamiento en una
referencia producirá el comportamiento correcto para el tipo real del objeto
referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última
característica se llama asignación tardía o asignación dinámica. Algunos
lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de
polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.

● 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.

● Recolección de basura​: la recolección de basura o ​garbage collector​ es la


técnica por la cual el entorno de objetos se encarga de destruir
automáticamente, y por tanto desvincular la memoria asociada, los objetos que
hayan quedado sin ninguna referencia a ellos. Esto significa que el
programador no debe preocuparse por la asignación o liberación de memoria,
ya que el entorno la asignará al crear un nuevo objeto y la liberará cuando
nadie lo esté usando.
En la mayoría de los lenguajes híbridos que se extendieron para soportar el
Paradigma de Programación Orientada a Objetos como C++ u Object Pascal,
esta característica no existe y la memoria debe desasignarse expresamente.

4. ¿Qué es un Diagrama de una Clase?


● En ingeniería de software, un diagrama de clases en Lenguaje Unificado de
Modelado es un tipo de diagrama de estructura estática que describe la estructura
de un sistema mostrando las clases del sistema, sus atributos, operaciones, y las
relaciones entre los objetos

● El diagrama de clases recoge las clases de objetos y sus asociaciones. En este


diagrama se representa la estructura y el comportamiento de cada uno de los
objetos del sistema y sus relaciones con los demás objetos, pero no muestra
información temporal.​Con el fin de facilitar la comprensión del diagrama, se
pueden incluir paquetes como elementos del mismo, donde cada uno de ellos
agrupa un conjunto de clases. Este diagrama no refleja los comportamientos
temporales de las clases, aunque para mostrarlos se puede utilizar un diagrama de
transición de estados

5. ¿Qué es una clase?


● En informática, una clase es una plantilla para la creación de objetos de datos
según un modelo predefinido. Las clases se utilizan para representar entidades o
conceptos, como los sustantivos en el lenguaje. Cada clase es un modelo que
define un conjunto de variables -el estado, y métodos apropiados para operar con
dichos datos -el comportamiento. Cada objeto creado a partir de la clase se
denomina instancia de la clase.

● Las clases de objetos son un pilar fundamental de la programación orientada a


objetos. Permiten abstraer los datos y sus operaciones asociadas al modo de una
caja negra. Los lenguajes de programación que soportan clases difieren sutilmente
en su soporte para diversas características relacionadas con clases. La mayoría
soportan diversas formas de herencia. Muchos lenguajes también soportan
características para proporcionar encapsulación, como especificadores de acceso.

● Una clase también puede tener una representación (metaobjeto) en tiempo de


ejecución, que proporciona apoyo en tiempo de ejecución para la manipulación de
los metadatos relacionados con la clase.

6. Características de una Clase


● Descripción de de objeto. Consta de una serie de métodos y datos que resumen
las características de este objeto. Definir clases permite trabajar con código
reutilizable. Puesto que desde una clase se puede crear una instancia y así
reutilizar el código escrito para esta si tener que volver a escribir el código para la
instancia. La instancia toma el patrón de la clase padre. Sin embargo, las variables
son independientes.

● 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.

7. Propiedades de una Clase


● Las propiedades son los atributos de la computadora. Debido a que suele ser
común que las variables miembro sean privadas para ​controlar el acceso​ y
mantener la coherencia, surge la necesidad de permitir consultar o modificar
su valor mediante pares de métodos: ​GetVariable​ y ​SetVariable​.

● 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. }

14. ¿Qué son los Atributos de una Clase?

Las clases se componen de elementos, llamados genéricamente «miembros», de varios


tipos:
● campos de datos: almacenan el estado de la clase por medio de variables,
estructuras de datos e incluso otras clases.
● métodos: subrutinas de manipulación de dichos datos.
● ciertos lenguajes permiten un tercer tipo de miembro: las «propiedades», a medio
camino entre los campos y los métodos.
● Utilizando un símil con el lenguaje, si las clases representan sustantivos, los
campos de datos pueden ser sustantivos o adjetivos, y los métodos son los verbos.
● La sintaxis típica de una clase es:

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:

o Los miembros o variables se utilizan para contener datos que reflejan el


estado de la clase. Los datos pueden estar almacenados en variables, o
estructuras más complejas, como structs, uniones e incluso otras clases.

o Habitualmente, las variables miembro son privadas al objeto (siguiendo


las directrices de diseño del Principio de ocultación) y su acceso se realiza
mediante propiedades o métodos que realizan comprobaciones
adicionales.

● Métodos en las clases


o Los métodos implementan la funcionalidad asociada al objeto. Los
métodos son el equivalente a las funciones en programación estructurada.
Se diferencian de ellos en que es posible acceder a las variables de la clase
de forma implícita o incluida.

o Cuando se desea realizar una acción sobre un objeto, se dice que se le


manda un mensaje invocando a un método que realizará la acción.

15. ¿Para qué sirven los Métodos de una Clase?


● Los métodos de clase sirven para ese código que está relacionado con la clase
pero que no depende de ninguna instancia particular. El uso depende de las
necesidades de cada programa y la imaginación de cada persona, pero en mi
experiencia he encontrado que los métodos de clase se utilizan generalmente
para:
o Crear objetos complejos.
o Como métodos de ayuda que se pueden utilizar desde diferentes partes,
pero no están asociados a ningún objeto.

● En la ​programación​, un ​método​ es una ​subrutina​ cuyo código es definido en


una ​clase​ y puede pertenecer tanto a una clase, como es el caso de los ​métodos
de clase o estáticos​, como a un ​objeto​, como es el caso de los ​métodos de
instancia​. Análogamente a los procedimientos en ​lenguajes imperativos​, un
método consiste generalmente de una serie de sentencias para llevar a cabo una
acción, un juego de parámetros de entrada que regularán dicha acción o,
posiblemente, un valor de salida (o valor de retorno) de algún tipo.
● La diferencia entre un ​procedimiento​ (generalmente llamado ​función​ si devuelve
un valor) y un método es que este último, al estar asociado con un objeto o clase
en particular, puede acceder y modificar los datos privados del objeto
correspondiente de forma tal que sea consistente con el comportamiento deseado
para el mismo. Así, es recomendable entender a un método no como una
secuencia de instrucciones sino como la forma en que el objeto es útil (el método
para hacer su trabajo). Por lo tanto, podemos considerar al método como el
pedido a un objeto para que realice una tarea determinada o como la vía para
enviar un mensaje al objeto y que este reaccione acorde a dicho mensaje

16. ¿Qué es un Método Constructor?


● Constructor en Java​. Un ​constructor​ es un ​método​ especial de una
clase que se llama automáticamente siempre que se declara un objeto de
esa clase. Su función es inicializar el objeto y sirve para asegurarnos que
los objetos siempre contengan valores válidos.

● En ​Programación Orientada a Objetos​ (POO), un ​constructor​ es una ​subrutina​ cuya


misión es inicializar un ​objeto​ de una ​clase​. En el constructor se asignan los valores
iniciales del nuevo objeto. Se utiliza para crear tablas de ​clases​ virtuales y poder
así desarrollar el ​polimorfismo​, una de las herramientas de la programación
orientada a objetos. Al utilizar un constructor, el ​compilador​ determina cual de los
objetos va a responder al mensaje (virtual) que hemos creado. Tiene un tipo de
acceso, un nombre y un paréntesis.
● En ​Java​ es un método especial dentro de una ​clase​, que se llama automáticamente
cada vez que se crea un ​objeto​ de esa clase.
● Posee el mismo nombre de la clase a la cual pertenece y no puede devolver ningún
valor (ni siquiera se puede especificar la palabra reservada ​void​). Por ejemplo, si
añadiéramos a la clase ​SSuma​ un constructor, tendríamos que llamarlo
también ​SSuma​. Cuando en una ​clase​ no se escribe propiamente un constructor, Java
asume uno por defecto.
17. ¿Qué es un Objeto?
● En el paradigma de programación orientada a objetos, un objeto es una cosa
orientada a objetos programa de computadores que consta de un estado y de un
comportamiento, que a su vez constan respectivamente de datos almacenados y
de tareas realizables durante el tiempo de ejecución.
● Se trata de un ente abstracto usado en programación que permite separar los
diferentes componentes de un programa, simplificando así su elaboración,
depuración y posteriores mejoras.
● Los objetos integran, a diferencia de los métodos procedurales, tanto los
procedimientos como las variables y datos referentes al objeto.
● A los objetos se les otorga ciertas características en la vida real. Cada parte del
programa que se desea realizar es tratado como objeto, siendo así estas partes
independientes las unas de las otras.Los objetos se componen de 3 partes
fundamentales: metodos, eventos y atributos.
18. Diferencia entre Clase y Objeto
● Una clase en la programación orientada a objetos, es algo abstracto, algo que
debemos definir al momento de resolver un problema. De igual manera, una clase
nos permite definir la estructura de una parte de nuestro programa. El objeto
(instancia de la clase) es con el que podremos comunicarnos y podremos ejecutar
sus métodos y acceder a sus atributos si la definición de la clase nos lo permite.

● La Clase es una abstracción que contiene código, principalmente atributos y


métodos que operan sobre ellos. Por otro lado el objeto es una cosa real que
operan sobre ellos, pero ahí viene el método estático, el cual pertenece a la clase.
19. ¿Qué es Java?
● Java es un lenguaje de programación y una plataforma informática comercializada
por primera vez en 1995 por Sun Microsystems. Hay muchas aplicaciones y sitios
web que no funcionarán a menos que tenga Java instalado y cada día se crean
más. Java es rápido, seguro y fiable. Desde portátiles hasta centros de datos,
desde consolas para juegos hasta súper computadoras, desde teléfonos móviles
hasta Internet, Java está en todas partes.

● Java​ es un lenguaje de programación orientado a objetos que se incorporó al


ámbito de la informática en los años noventa. La idea de ​Java​ es que pueda
realizarse programas con la posibilidad de ejecutarse en cualquier contexto, en
cualquier ambiente, siendo así su portabilidad uno de sus principales logros.

20. Características de Java como lenguaje de programación

21. Declaración de Variables en Java


● tipo de dato​: tipo de datos que se pueden almacenar en esta variable. 
● nombre_variable​: nombre dado a la variable. 
● valor​: es el valor inicial almacenado en la variable. 

22. Declaración de Arreglos en Java


ARRAYS UNIDIMENSIONALES
La sintaxis para declarar e inicializar un array será:

Tipo_de_variable[ ] Nombre_del_array = new


Tipo_de_variable[dimensión];

También podemos alternativamente usar esta declaración:

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:

- byte[ ] edad = new byte[4];


- short[ ] edad = new short[4];
- int[ ] edad = new int[4];
- long[ ] edad = new long[4];
- float[ ] estatura = new float[3];
- double[ ] estatura = new double[3];
- boolean[ ] estado = new boolean[5];
- char[ ] sexo = new char[2];
- String[ ] nombre = new String[2];

Aclarar que los valores por defecto son los siguientes:


a) Para números el valor cero “0”.
b) Para cadenas y letras el valor vacío.
c) Para booleanos el valor false.

En caso de que queramos inicializarlos con valores propios, haremos esto:

Para números enteros


int[ ] edad = {45, 23, 11, 9}; //Array de 4 elementos
De la misma forma procederíamos para los otros tipos de enteros : byte, short, long.

Para números reales


double[ ] estatura = {1.73, 1.67, 1.56}; //Array de 3 elementos
De la misma forma procederíamos para el tipo float, pero teniendo en cuenta que los números
deberán llevar al final la letra “f” o “F”. Por ejemplo 1.73f o 1.73F.

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

23. Declaración de Clases en Java

El nombre de la clase, Publicacion debe ser un identificador válido en Java y


por convención, empieza por letra mayúscula. Una declaración de clase crea
un nombre de tipo en Java. De esta forma las referencias a objetos Publicacion
se pueden declarar con un simple:

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.

Podríamos definir un campo propietario. Con este campo indicaríamos el


propietario del libro. Sería útil, si sólo vamos a almacenar nuestras
publicaciones, que el valor de este campo lo compartan todas los objetos que
podamos definir a partir de esta clase. Calificaríamos la declaración de este
campo con la palabra reservada static:

24. Declaración de Objetos en Java

public class Persona


{
​// Atributos de la clase Persona
private String nombre;
private int edad;

​// Métodos de la clase Persona


public String getNombre()
{
return nombre;
}

public int getEdad()


{
return edad;
}

public void setNombre(String n)


{
nombre = n;
}

public void setEdad(int e)


{
edad = e;
}
}
Obsérvese que, en el cuerpo de la clase –entre las llaves ​{}​– se han definido:

● 2 atributos –también llamados campos– privados


(​private​): ​nombre​ y ​edad​.
● 4 métodos públicos
(​public​): ​getNombre​, ​getEdad​, ​setNombre​ y ​setEdad​.
De tal forma que, todos los objetos que se creen de la clase ​Persona​ tendrán
un ​nombre​ y una ​edad​ que podrán almacenar valores distintos, pudiendo ser
modificados o consultados cuando se invoque a sus métodos definidos:

● setNombre​ permite asignar –​set​– un nombre (​String​) a un objeto de la


​ ersona​.
clase P
● setEdad​ permite asignar –​set​– una edad (​int​) a un objeto de la
​ ersona​.
clase P
● getNombre​ sirve para consultar –​get​– el nombre de un objeto de la
​ ersona​.
clase P
​ la edad de un objeto de la
● getEdad​ sirve para consultar –​get–
​ ersona​.
clase P
Para declarar y crear un objeto de la clase ​Persona​ se puede escribir:

Persona p1;​ // Declaración de la variable p1 de tipo Persona


p1 = new Persona();​ // Creación de un objeto de la clase
Persona
Nota:​ con la declaración ​Persona p1​, se está reservando un espacio de
memoria para almacenar una referencia (dirección de memoria) a un objeto de
la clase P ​ ersona​. Al respecto, es importante comprender que p ​ 1​ no es un
objeto, sino una variable que almacenará la referencia a un objeto (de la
clase P ​ ersona​) que todavía no existe. Seguidamente, mediante la
sentecia p ​ 1 = new Persona()​, el operador n ​ ew​ creará un objeto de la
clase P ​ ersona​, reservando memoria para guardar sus atributos
(​nombre​ y e ​ dad​ en este caso). Finalmente, con el operador de asignación
(​=​), la dirección de memoria donde esté creado el objeto, es asignada a p ​ 1​.

También, se puede indicar lo mismo en una sola línea:

Persona p1 = new Persona();

25. Declaración de Constructores en Java

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:

● Se llama igual que la clase.


● No devuelve nada, ni siquiera void.
● Pueden existir varios, pero siguiendo las reglas de la sobrecarga de funciones.
● De entre los que existan, tan sólo uno se ejecutará al crear un objeto de la clase.
Dentro del código de un constructor generalmente suele existir inicializaciones de variables y objetos, para
conseguir que el objeto sea creado con dichos valores iniciales.

Para definir los constructores se emplea la siguiente sintaxis:

[modifVisibilidad] nombreConstructor (listaParámetros) [throws listaExcepciones]

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.

nombreConstructor debe de coincidir con el nombre de la clase.

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

public​ ​class​ Fecha {

​// Atributos o variables miembro

​private​ ​int​ dia​;

​
​private​ ​int​ mes​;​


​private​ ​int​ anho​;

​/**

* Constructor 1​


* Asigna los valores 1, 1 y 2000 a los atributos

* dia, mes y anho respectivamente​


*/

​public​ Fecha() {

​this​.dia ​=​ 1​;

​this​.mes ​=​ 1​;


​this​.anho ​=​ 2000​;

​/**

* Constructor 2​


* @param ndia el dia del mes a almacenar

* @param nmes el mes del anho a almacenar

* @param nanho el anho a almacenar​


*/

​public​ Fecha(​int​ dia, ​int​ mes, ​int​ anho) {

​this​.dia ​=​ dia​;

​this​.mes ​=​ mes​;

​this​.anho ​=​ anho​;

​public​ ​String​ toString() {​


​return​ ​this​.dia ​+​ ​"/"​ ​+​ ​this​.mes ​+​ ​"/"​ ​+​ ​this​.anho​;

26. Declaración de Sentencias selectivas en Java (if, else, switch)

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​;
}

La ​expresionLogica​ debe ir entre paréntesis. Las llaves sólo son


obligatorias si las sentencias (1) ó (2) son compuestas (las llaves
sirven para agrupar varias sentencias simples).
La parte ​else​ y la sentencia posterior entre llaves no son
obligatorias. En este caso quedaría una sentencia selectiva con
una rama.

27. Declaración de Sentencias repetitivas en Java (for, do-while, while)

SENTENCIA FOR
Es un bucle o sentencia repetitiva que

● ejecuta la sentencia de inicio.


● verifica la expresión booleana de término.

Sintaxis:

● si es cierta, ejecuta la sentencia entre llaves y la sentencia de


iteración para volver a verificar la expresión booleana de término.
● si es falsa, sale del bucle.
Sintaxis:
for​ (inicio​;​ termino​;​ iteracion)

sentencia​;

O si se desean repetir varias sentencias:


for​ (inicio​;​ termino​;​ iteracion) {

sentencia_1​;​


sentencia_2​;​


sentencia_n​;

Las llaves sólo son necesarias si se quieren repetir varias sentencias,


aunque se recomienda su porque facilita la lectura del código fuente y
ayuda a evitar errores al modificarlo. Habitualmente, en la expresión
lógica de término se verifica que la variable de control alcance un uso
determinado valor. Por ejemplo:

for​ (i ​=​ valor_inicial​;​ i ​<=​ valor_final​;​ i​++​) {

sentencia​;
}

Es completamente legal en Java declarar una variable dentro de la


cabecera de un bucle ​for​. De esta forma la variable (local) sólo tiene
ámbito dentro del bucle. Ejemplo sencillo:
System​.out.println(​"Tabla de multiplicar del 5"​)​;

for​ (​int​ i ​=​0 ​;​ i ​<=​ 10​;​ i​++​) {

​System​.out.println(5 ​+​ ​" * "​ ​+​ i ​+​ ​" = "​ ​+​ 5 ​*​ i)​;

Salida por pantalla al ejecutar el código anterior:


5 ​*​ 0 ​=​ 0

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

6.2 SENTENCIA WHILE


Es un bucle o sentencia repetitiva con una condicion al principio. Se
ejecuta una sentencia mientras sea cierta una condición. La sentencia
puede que no se ejecute ni una sola vez.

Sintaxis:

[inicializacion​;​]​

while​ (expresionLogica) {

sentencias​;

[iteracion​;​]

Figura 6.2​ Flujograma de la sentencia while

Se recuerda que el vector ​args​ contiene todos los parámetros o


argumentos indicados en la línea de comandos. El primer elemento de
este vector es ​args[0]​. El tamaño del vector puede determinarse
añadiendo ​.length​ a su identificador. Como el índice del primer
elemento del vector es ​0​, si el tamaño del vector es n, entonces el
último elemento del vector tiene índice ​n-1​. En el ejemplo anterior de
ejecución del programa ​eco, args[0]​ toma como valor la cadena
"​Esto​", ​args[1]​ vale "es", ​args[2]​ vale "una" y ​args[3]​ vale "​prueba​".

6.3 SENTENCIA DO-WHILE


Es un bucle o sentencia repetitiva con una condicion al final. Se ejecuta
una sentencia mientras sea cierta una condición. En este caso, la
sentencia se ejecuta al menos una vez.
Figura 6.3​ Flujograma de la sentencia do/while

Sintaxis:

do​ {

sentencias​;

[iteracion​;​]​


} ​while​ (expresionLogica)​;

28. Utilidad de la palabra “Break” en Java

La sentencia de 'break' es de tipo de control de bucles. Dentro de la iteracion en un


bucle, de cualquiera de los tipos (while, do-while, for), el uso de esta sentencia rompe
la iteracion de dicho bucle.

for(int j = 0; j<10; j++){


sentencia 1;
sentencia 2;
sentencia 3;
break;
};

Este bucle debería ejecutarse 10 veces, desde j = 0 hasta j = 9, sin embargo la


utilización de la sentencia break, rompe la iteración del bucle, de tal manera que tras la
primera ejecución el bucle acaba habiéndose ejecutado una sola vez.

29. Variables Privada y Publicas o Locales y Globales


Definición de ámbito
El ​ámbito de una variable​ define su ​alcance de uso,​ o lo que es lo mismo, en que
secciones de código una variable estará disponible. Fuera de este ámbito, una variable no
podrá ser accedida (no existe).

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:

public class MiClase {

static int variableEstatica;

int variableGlobal;

void miMetodo(int parametro) {

int variableLocal;

// parametro también es local dentro del método

}
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).

void miMetodo(int parametro) {

int variableLocal = new Random().nextInt();

System.out.println("El valor de variableLocal es: " + variableLocal);

System.out.println("EL valor de parámetro es: " + parametro);

En el ejemplo anterior, tenemos dos variables de ámbito local, ​parametro​ y ​variableLocal​.


Ambas pueden ser accedidas desde cualquier parte del método ​miMetodo()​, ya que es el
bloque donde han sido declaradas. Otro ejemplo de variable de ámbito local es aquella
declarada dentro de un bucle o un bloque condicional (en cuyo caso sólo ​existe​ dentro de
éste). En resumen, la variable ​pertenece al bloque donde ha sido declarada​.

Variables de ámbito global


Las variables de ​ámbito global,​ o de instancia, son aquellas que pertenecen a cada
instancia concreta de la clase donde han sido declaradas, y dependiendo del modificador
de visibilidad usado (más tarde hablaremos sobre ésto) podrían ser sólo accedidas desde
la propia instancia a la que pertenecen:

public class MiClase {

int variableGlobal;

void miMetodo() {
System.out.println("Valor de variableGlobal: " + variableGlobal);

public class OtraClase {

void otroMetodo() {

// Error de compilación, no es visible

System.out.println("Valor de variableGlobal: " + variableGlobal);

Cada instancia de la clase ​MiClase​ tendrá su propia copia de la variable ​variableGlobal​, y


modificar el valor de dicha variable en una instancia en concreto no afectará a los valores
de la misma variable en el resto de (posibles) instancias.

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 UnaClase {

public static int variableEstatica;

}
public class OtraClase {

void metodo() {

System.out.println("Valor de UnaClase.variableEstatica:" +
UnaClase.variableEstatica);

UnaClase​ compartirá una única copia de la variable ​variableGlobal​ independientemente


del número de inicializaciones que hagamos de la clase, y el último valor de dicha variable
será el que esté vigente en cada momento. Al ser una variable de clase, repito, no es
necesario crear ninguna instancia de dicha clase para poder usarla (no es necesario
invocar a n​ ew​).

Reduciendo el ámbito
La siguiente frase debes grabarla a fuego en tu cabeza desde este mismo momento:

Toda variable debe ser declarada en el ámbito más reducido posible.

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:

public class MiClase {

int contarUsuariosPorNombreIncompleto(String fragmentoNombreUsuario,


String[] nombreUsuarios) {

boolean encontrado = false;

int totalEncontrados = 0;

for (Usuario nombreUsuarioActual : nombreUsuarios) {


if (nombreUsuarioActual.contains(fragmentoNombreUsuario))
{

encontrado = true;

if (encontrado) {

totalEncontrados++;

return totalEncontrados;

public static void main(String[] args) {

String fragmentoNombreUsuario = "Michael";

String[] nombreUsuarios = {"Jhon Doole", "Michael Fletcher", "James


'Jimmy X' Donald"};

int resultado = new


MiClase().contarUsuariosPorNombreIncompleto(fragmentoNombreUsuario, nombreUsuarios);

System.out.println("Total resultados: " + resultado);

}
}

Al ejecutar la clase anterior, podemos ver por consola la siguiente salida:

Total resultados: 2

MODIFICADOR CLASE PACKAGE SUBCLASE TODOS

public Sí Sí Sí Sí

protected Sí Sí Sí No

No especificado Sí Sí No No

private Sí No No No

30. ¿Qué es NetBeans?


NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el
lenguaje de programación Java. Existe además un número importante de módulos para
extenderlo. NetBeans IDE​ es un producto libre y gratuito sin restricciones de uso.

La plataforma ​NetBeans​ permite ​que​ las aplicaciones sean desarrolladas a


partir ​de​ un conjunto ​de​ componentes d
​ e​ software llamados módulos.

NetBeans es un programa que sirve como IDE (un entorno de desarrollo integrado) que
nos permite programar en diversos lenguajes.

El desarrollo de software se ha diversificado mucho basándonos en la cantidad de


lenguajes que existen para la programación. Sin embargo, hay lenguajes que van
imponiéndose como estándares, entre ellos tenemos a Java, PHP, HTML, C++, C#, Ruby.

El problema que se presenta a la mayoría de los programadores es contar con un entorno


de desarrollo que sea completo, eficaz, fácil de usar y sea en lo posible gratuito. Todos
esos requerimientos los podemos encontrar en NetBeans.

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

32. ¿Qué es GIT?

33. Comandos básicos de GIT


https://manuel.cillero.es/doc/metrica-3/tecnicas/diagrama-de-clases/

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

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy