Introducción : Introducción Conceptos Básicos de Java
Que es Java? : Que es Java? Para que se utiliza?
Que tipo de programación maneja?
Cuales son sus características principales?
Ejemplo de un programa
Slide 3 : Tipos de datos En Java existen dos tipos de datos:
Primitivos.
Referencia.
Un variable de tipo primitivo contiene un solo valor de un tamaño y formato apropiado.
Una referencia es una dirección a un objeto, arreglo o interfaz. (Aunque Java no maneja las direcciones físicas de la plataforma real).
Slide 4 : Ejemplo de datos primitivos y de referencia public static void main (String args[]) {
int counter;
counter = 10;
Shirt myShirt = new Shirt ( );
}
Slide 5 : Ámbito Es la región de un programa dentro de la cual la variable puede ser referida por su nombre simple.
Visibilidad se aplica solamente a las variables de instancia y determina si la variable puede utilizarse fuera de la clase en la cual es declarada. Se establece mediante un modificador de acceso.
Slide 6 : Ámbito
Clases y Objetos : Clases y Objetos Que es una clase? En el software orientado a objetos es posible tener muchos objetos que compartan características comunes: clientes, facturas, pedidos, artículos, notas de venta, pagos, cuentas, etc.
Una clase software es una plantilla que define las variables de instancia y métodos de instancia de todos los objetos (instancias de clase ) que forman la colección de objetos.
A partir de una clase es posible crear objetos que compartan el mismo comportamiento, pero que cada uno de ellos posea un estado particular distinto.
Slide 8 : Clases y objetos Crear Clase Bicicleta
Slide 9 : Variables de clase Además de las variables de instancia, de las cuales cada objeto posee un conjunto de las mismas; la clase puede poseer variables propias cuyo valor es único para todos los objetos de la clase.
Estas variables son conocidas como variables de clase, y pueden considerarse como “variables globales” a todos los objetos de la clase.
Las variables de clase en java se declaran con la palabra “static”.
Declarando variables estáticas (de clase) : public class Student {
//class variables
static int maxIdAssigned;
//instance variable
private int id;
//constructor
public Student() {
this.id = maxIdAssigned;
maxIdAssigned++;
}
} Declarando variables estáticas (de clase)
Slide 11 : Ejemplo public class Punto {
private int x=0;
private int y=0;
public static int totalPuntos =0;
Punto (int _x, int _y){
x=_x;
y=_y;
totalPuntos++;
}
public void setx(int _x){
x= _x;
}
public String toString (){
return “(”+x+”,”+y+”)”;
}
} public class UsaPunto {
public static void main(String[] args){
Punto punto1= new Punto(2,1);
Punto punto2 = new Punto(5,5);
Punto punto3 = punto1;
Punto[] puntos = {punto1,punto2};
System.out.println(Arrays.toString(puntos));
System.out.println(“Puntos creados “+ Punto.totalPuntos);
}
}
Métodos de clase (static) : También es posible que una clase tenga asociados métodos. Estos métodos se pueden considerar como si fueran rutinas que están asociadas a la clase y no a un objeto en particular.
Algunas de las clases de la API de Java poseen estos métodos de clase como una forma de agrupar servicios comunes. Ej. La clase Math.
Un método declarado estático es un método de clase.
Los métodos estáticos solo pueden operar sobre variables de clase y NO pueden accesar las variables de instancia. Métodos de clase (static)
static (métodos de clase) : class AnIntegerNamedX {
int x;
public static int x() {
return x;
}
public static void setX(int newX) {
x = newX;
}
} // ERROR de compilacion
AnIntegerNamedX.java:4: Can't make a static reference to
nonstatic variable x in class AnIntegerNamedX. static int x; static (métodos de clase)
Ejemplo Métodos de la Clase : public class Slogan {
private String phrase;
private static int count = 0;
public Slogan (String str) {
phrase = str;
count++;
}
public String toString() {
return phrase;
}
public static int getCount () {
return count;
}
} Ejemplo Métodos de la Clase Crear una clase que 3 objetos a partir de esta clase y los presente por pantalla
Slide 15 : Usando Miembros estáticos
Slide 16 : // Determines the roots of a quadratic equation.
public class Quadratic {
public static void main (String[] args) {
int a, b, c; // ax^2 + bx + c
a = 5; // the coefficient of x squared
b = 7; // the coefficient of x
c = 2; // the constant
// Use the quadratic formula to compute the roots.
// Assumes a positive discriminant.
double discriminant = Math.pow(b, 2) - (4 * a * c);
double root1 =((-1*b)+ Math.sqrt(discriminant))/(2 * a);
double root2 =((-1*b)-Math.sqrt(discriminant))/ (2 * a);
System.out.println ("Root #1: " + root1);
System.out.println ("Root #2: " + root2);
}
} // ver clase producto y usaproducto
Slide 17 : Cuando es necesario declarar métodos o variables estáticas (de clase) Cuando no es importante realizar alguna operación en un objeto individual o asociar la variable dentro de un objeto especifico.
Cuando es necesario acceder a la variable o método antes de la inicialización del objeto.
Cuando el método o variable no esta asociado a un objeto, pero el elemento forme parte de una utilidad, por ejemplo de la manera en que se usa la clase Math.
Constructores : Constructores Los constructores deben tener el mismo nombre de la clase.
No es obligatorio definir un constructor para la clase. Si no se hace, el Java runtime system provee uno por “default”, el cual crea la instancia de la clase.
Slide 19 : public class Hat {
private String type;
public Hat(String hatType) {
type = hatType;
} public class Order {
Hat hat1 = new Hat(“Fedora”);
} Ejemplo Constructores
Slide 20 : class animal{
int edad;
String nombre;
public animal(){
}
public animal(int _edad, String _nombre){
edad = _edad;
nombre = _nombre;
}
} Escribir una clase de ejemplo con 2 constructores
Paquetes : Paquetes Los paquetes ayudan a manejar la complejidad de los componentes en las aplicaciones.
Facilitan la reutilización de software
Proporcionan una convención para nombres de clase únicos.
Java utiliza la palabra “package” como la primera linea en un programa, para indicar el lugar en donde se almacenaran las clases de las aplicaciones.
Java utiliza los archivos de los directorios del sistema para almacenar los paquetes.
Los desarrolladores de Java utilizan los paquetes para conjuntar clases que tienen usos o aplicaciones comunes, por ejemplo un paquete declarado como:
package java.awt.image;
Almacena en java/awt/image todos las clases relacionadas con el manejo de imágenes.
Slide 22 : paquete 1 paquete 2 Paquetes Programa de ejemplo: Balance.java
Slide 23 : Ejercicios de Ejemplo Escriba una clase que declare los atributos de una clase que describa los atributos de una figura geométrica y calcule su área.
Escriba una clase en donde se declare un método que reciba como parámetros 3 números y que retorne el mayor.