Sharaman088 dijo:Antes de empezar a leer este post les recomiendo que lean mi .
Clases y Objetos - Operaciones y Expresiones.
Java es un lenguaje orientado a objetos que incorpora un gran número de clases predefinidas organizadas en paquetes. La programación en Java supone definir clases de forma jerárquica, construir (crear) objetos de dichas clases y realizar acciones (operaciones) con ellos.
Clases y Objetos.
Clase
En el mundo real, se encuentran muchos objetos del mismo tipo. Por ejemplo, mi ordenador es uno de todos los ordenadores del mundo. Utilizando el término orientado a objetos, mi ordenador es un miembro o ejemplar de la clase de objetos conocidos como ordenadores. Objetos similares se reproducen como objetos del mismo tipo, por lo que se puede crear un prototipo para tales objetos. Estos prototipos son los que se conocen como clases.
Definición de clase:
Una clase es un prototipo que define los atributos y los métodos de todos los objetos con características comunes.
Objetos
Los objetos constituyen el concepto fundamental para entender la POO. Si miramos a nuestro alrededor podemos ver muchos ejemplos de objetos del mundo real: mesa, silla, persona, coche, estudiante, robot, etc.
Un objeto es una instancia de una clase. Una instancia es un ejemplar, un caso concreto. Si tomamos la clase “estudiante”, cada estudiante es una instancia. Un objeto tiene una estructura y al igual que los objetos del mundo real y comparten dos características comunes: estado y comportamiento.
Todo aquello que el objeto conoce (estado), se expresa por sus atributos, y todo lo que puede hacer (comportamiento) se expresa por sus operaciones.
• Atributos. Estructura de los objetos: sus componentes y la información o datos contenidos en ellos (otro sinónimos de atributos son «variables de instancia» o «miembros datos»).
• Operaciones. El comportamiento de los objetos. Normalmente se utiliza el término operaciones aunque a veces se utilizan otros sinónimos como «servicios» o «métodos»)
Declaración de Objetos:
Cada objeto que se usa en un programa debe ser declarado. Una declaración de objetos designa el nombre (identificador) del objeto y la clase a la cual pertenece el objeto. Su sintaxis es:
<nombre de clase> <nombre de objeto> ;
//Ejemplo
Herramienta martillo;
Donde <nombre de objeto> es una sentencia de nombre de objeto y <nombre de clase> es el nombre de la clase a la cual pertenece el objeto.
Creación de Objetos
Un objeto no se crea realmente cuando se declara. Una declaración de objeto simplemente declara el nombre (identificador) que se va usar para referirse al objeto. Se crea un objeto cuando se llama al operador new.
La sintaxis para new es:
//Ejemplo
Herramienta martillo = new Herramienta();
Una vez que creamos el objeto (martillo) podemos mandarle mensaje.
La sintaxis para enviar mensaje a un objeto es:
<nombre de objeto> . <nombre de método> ( <argumentos> );
//Ejemplo
martilo.darGolpes();
Donde <nombre de objeto> es un nombre de objeto, <nombre de método> es un nombre método del objeto y <argumentos> es una secuencia de valores que se pasan al método, si es que tiene argumentos.
Conclusión:
Podemos decir entonces:
• Todo es un objeto
• Un objeto puede caracterizar una entidad física (un teléfono, un robot, un interruptor, un cliente) o una entidad abstracta (un número, una fecha, una ecuación matemática).
• Los objetos se comunican entre sí pasándose mensajes
• Todo objeto tiene un identidad única, la identidad de un objeto no depende del contenido de sus variables de instancia, el contenido de las variables de instancia puede cambiar a los largo de la vida de un objeto.
• Cada objeto tiene un estado (contiene su propia memoria )
• Un objeto es un caso particular (instancia) de una clase.
Operadores y Expresiones.
Los programas Java constan de datos, sentencias de programas y expresiones. Una expresión es normalmente, una ecuación matemática, tal como 3 * x + 5 * z. En esta expresión, los símbolos más y producto (+, *) son los operadores de suma y producto, los números 3 y 5, y las variables x y z se llaman operandos. En síntesis, una expresión es una secuencia de operadores y operandos que especifica un cálculo. Cuando se utiliza + entre números (o variables) se denomina operador binario, debido a que el operador + suma dos números. Otro tipo de operador de Java es el operador unitario («unario»), que actúa sobre un único valor. Si la variable x contiene el valor 5, -x es el valor -5. El signo menos (-) es el operador unitario menos.
Una expresión es el elemento de un programa que toma un valor. En algunos casos puede también realizar una operación.
La expresión puede ser valores constantes o variables simples, tales como 25 o ‘Z’; pueden ser valores o variables combinadas con operadores (a++); o bien pueden ser valores combinados con métodos tales como Math.cos(1.5).
Operador de asignación
El operador = asigna el valor de la expresión derecha a la variable situada a su izquierda.
numero = 12;
valor = 5;
Además del operador = Java proporciona cinco operadores de asignación adicionales
Estos operadores de asignación actúan como una notación abreviada para expresiones utilizadas con frecuencia. Así, por ejemplo, si se desea multiplicar 10 por i, se puede escribir
i=i*10;
Nota: Una sentencia de asignación no es una igualdad matemática
Operadores Binarios
Operador ---------------- Operación ---------------- Descripción
+ ---------------- a + b ---------------- Adición
- ---------------- a - b ---------------- Diferencia
* ---------------- a * b ---------------- Producto
/ ---------------- a / b ---------------- División
% ---------------- a % b ---------------- Calcula el resto de dividir a entre b
Reglas de precedencia de los operadores
Generalmente son las mismas que se siguen en álgebra.
1. Los operadores de expresión contenidas dentro de pares de paréntesis se evalúan
primero.
2. A continuación se aplican las operaciones de multiplicación, división y residuo. Si una expresión tiene varias operaciones de multiplicación, división y residuo, los operadores se aplican de izquierda a derecha. Tienen la misma precedencia tanto la multiplicación, la división como el residuo.
3. Las operaciones de suma y resta se aplican al final. Si una expresión contiene varias operaciones de suma y resta, los operadores se aplican de izquierda a derecha.
Considerando que la suma y resta tienen el mismo nivel de precedencia
Ejemplos de expresiones algebraicas y su equivalencia en Java.
Álgebra: z = mx + b
Java : z = (m* x) + 5;
Precaución
Se debe tener cuidado en la escritura de expresiones que contengan dos o más operaciones para asegurarse que se evalúan en el orden previsto. Incluso aunque no se requieran paréntesis, éstos deben utilizarse para clarificar el orden concebido de evaluación y escribir expresiones complicadas en términos de expresiones más simples.
Operadores Unarios (se llama operadores unarios porque opera sobre un operando)
Operadores Unarios
Operador >>>>>>Operación>>>>>> Descripción
++ >>>>>> ++x >>>>>> Añade 1 a x antes de utilizarla
++ >>>>>> x++ >>>>>> Añade 1 a x después de utilizarla
-- >>>>>> --x >>>>>> Resta 1 a x antes de utilizarla
-- >>>>>> x-- >>>>>> Resta 1 a x después de utilizarla
Por consiguiente, x++ es igual que x = x + 1
Ejemplos:
int a= 1;
int b;
b= a++; // b vale 1 y a vale 2
b= ++a; // b vale 2 y a vale 2
Nota: Si los operadores ++ y - - están prefijos, la operación de incremento o decremento se efectúa antes que la operación de asignación; si los operadores ++ y - - están de sufijos, la asignación se efectúa en primer lugar y la incrementación o decrementación a continuación.
El operador cast
Una conversión de tipo es un proceso que se convierte el valor de un tipo de dato a otro tipo de dato diferente. Como Java no permite almacenar a cada variable más que valores de su tipo, es necesario transformarlos previamente.
Conversión explicitas de tipo (castings)
La sintaxis es:
(<tipo de datos> ) <expresion>
Ejemplo:
double a;
int b;
b = (int) a;
Es decir, a la variable b, que es de tipo int (entera) se le asigna el valor de la parte entera de la variable a que es de tipo double.
Concatenación de cadenas de caracteres
El operador + sirve para concatenar cadenas de caracteres
Ejemplo:
String nombre = "Juan";
String apellido = "Perez";
System.out.println("Mi nombre: "+ nombre + " mi apellido: "+ apellido);
Sentencias y bloques
Ya sabemos que un programa no es más que un conjunto de sentencias (instrucciones) ordenadas. Una sentencia es una instrucción completa para el compilador, que acaba en un punto y coma.
Ejemplo:
Una expresión como a = 100 se convierte en una sentencia cuando va seguido de un punto y coma
int a = 100;
Una sentencia indica una acción.
Tipos de sentencias
Sentencias de declaración: establecen los nombres y el tipo de variables
Sentencias de asignación: asigna valores a las variables
Sentencias de función: llaman a funciones (métodos) para realizar una determinada tarea.
Sentencias estructuradas o de control de flujo (while, if-else ,etc.).
Bloques
Es un conjunto de dos o más sentencias agrupadas y encerradas entre llaves no existiendo punto y coma tras la llave de cierre.
Documentación interna del programa.
En un programa o clase, pueden introducirse comentarios que aclaren ciertos aspectos del mismo siempre que se indique al compilador cuándo comienzan y, en algunos casos, cuando termina. En java se distinguen tres clases de comentarios.
Comentarios
• /* Texto */. El texto comprendido entre /* y */ es ignorado por el compilador.
Es decir, no se ejecuta. Se utiliza para comentarios de más de una línea
• //Texto. El texto desde // hasta el final de línea es ignorado. Se utiliza para comentarios de una sola línea
• /**Documentación */. El texto comprendido entre /** y */ se utiliza para los comentarios que deben aparecer en la documentación del programa. Estos comentarios se suelen situar en la línea anterior a las declaraciones de clase, constructor, interfaces, método, etc.