Title: Java y POO
1Java y POO
2Ejemplo sencillo
/ Clase CajaDemo / public class CajaDemo
public static void main(String args) //
declaracion e instaciacion de miCaja Ccaja
miCaja new Ccaja() // declara una variable
vol double vol //asigna valores
iniciales miCaja.ancho 10 miCaja.alto
20 miCaja.largo 25 // calcula el
volumen vol miCaja.anchomiCaja.altomiCaja.larg
o //Salida System.out.println(vol
vol)
- public class CCaja
-
- double ancho
- double alto
- double largo
-
3Uso de métodos
- /
- Clase CajaDemo
- /
- Public class CajaDemo
- public static void main(String args)
- // declaracion e instaciacion de miCaja
- Ccaja miCaja new Ccaja()
- // declara una variable vol
- double vol
- //asigna valores iniciales
- miCaja.ancho 10
- miCaja.alto 20
- miCaja.largo 25
- // calcula el volumen
- vol miCaja.volumen()
- //Salida
- System.out.println(vol vol)
-
- Public class Ccaja
-
- // atributos
- double ancho
- double alto
- double largo
- // metodos
- public double volumen()
-
- return anchoaltolargo
-
-
4Metodos Modificadores
- Public class Ccaja
-
- // atributos
- private double ancho
- private double alto
- private double largo
- // metodos
- public SetDim(double a, double b, double c)
- ancho a
- alto b
- largo c
-
- public double volumen()
-
- return anchoaltolargo
-
-
5Métodos modificadores
- /
- Clase CajaDemo
- /
- public class CajaDemo
- public static void main(String args)
- // declaracion e instaciacion de miCaja
- CCaja miCaja new CCaja()
- // declara una variable vol
- double vol
- //asigna valores iniciales
- miCaja. SetDim(10,20,25)
- // calcula el volumen
- vol miCaja.volumen()
- //Salida
- System.out.println(vol vol)
-
6Constructores
- Puede resultar fastidioso inicializar todas las
variables de una clase cada vez que se crea un
objeto, para ello se utilizan los constructores. - Un constructor inicializa un objeto
inmediatamente después de ser creado. - Tiene exactamente el mismo nombre que la clase en
la que reside y sintácticamente es igual a un
método. - Un constructor no devuelve ningun tipo , ni
siquiera void, porque el tipo implicito que
devuelve es el mismo tipo de la clase.
7Constructores
- Si no se declara un constructor en la clase se
utiliza el constructor por defecto, el cual
inicializa todas las variables de instancia a
cero o null. - Una vez que se ha definido un constructor , no se
utiliza mas el constructor por defecto.
8Constructores
- Public class Ccaja
-
- // atributos
- private double ancho
- private double alto
- private double largo
- // metodos
- public Ccaja()
- ancho 10
- alto 10
- largo 10
-
- public double Volumen()
-
- return anchoaltolargo
-
-
- /
- Clase CajaDemo
- /
- Public class CajaDemo
- public static void main(String args)
- // declaracion e instaciacion de miCaja
- CCaja miCaja new CCaja()
- // declara una variable vol
- double vol
- // calcula el volumen
- vol miCaja.Volumen()
- //Salida
- System.out.println(vol vol)
9Constructores con parámetros
- Public class Ccaja
-
- // atributos
- private double ancho
- private double alto
- private double largo
- // metodos
- public Ccaja(double a, double b, double c)
- ancho a
- alto b
- largo c
-
- public double Volumen()
-
- return anchoaltolargo
-
-
- /
- Clase CajaDemo
- /
- public class CajaDemo
- public static void main(String args)
- // declaracion e instaciacion de miCaja
- CCaja miCaja new CCaja(10,10,10)
- // declara una variable vol
- double vol
- // calcula el volumen
- vol miCaja.Volumen()
- //Salida
- System.out.println(vol vol)
10Uso de this
- Se usa cuando el método necesita hacer referencia
al objeto que lo invocó. - Para resolver redundancia en los nombres
- public Ccaja (double ancho, double alto, double
largo) - this.ancho ancho
- this.alto alto
- this.largo largo
-
- Esto no es nada recomendable en una buena
programación, es muy confuso e innecesario.
11Sobrecarga de Métodos
- Se dice cuando existen dos o mas métodos con el
mismo nombre, pero que se diferenciasn por el
numero y tipo de sus parámetros. - A veces es util sobrecargar los constructores
para tener varias opciones de inicializacion de
valores.
12Sobrecarga de métodos
- public class Ccaja
-
- // atributos
- double ancho
- double alto
- double largo
- // metodos
- public Ccaja(double a, double b, double c)
- ancho a
- alto b
- largo c
-
- public Ccaja(double a)
- ancho alto largo 10
- public double Volumen()
-
- return anchoaltolargo
-
- /
- Clase CajaDemo
- /
- public class CajaDemo
- public static void main(String args)
- // declaracion e instaciacion de miCaja
- CCaja miCaja new CCaja(20,10,30)
- CCaja tuCaja new CCaja(20)
- // declara una variable vol
- double vol
- // calcula el volumen
- vol miCaja.Volumen()
- //Salida
- System.out.println(vol vol)
13Objetos como parámetros
- Public class PasaObj
-
- Public static void main(String args)
-
- Cobj o1 new Cobj(10,20)
- Cobj o2 new Cobj(30 40)
- System.out.println(o1 igual o2?
o1.iguales(o2)) -
- public class CObj
- //atributos
- private int a, b
- // constructor
- public Cobj(int i, int j)
- a i b j
- public boolean iguales(Cobj o)
- return (o.a a o.b b)
- // fin CObj
14Control de acceso
- Public el miembro puede ser accedido por
cualqueir parte del programa. - Private solo puede ser accedido por los miembros
de su clase. - Protected solo puede ser accedido desde los
miembros de su clase (se trabaja fundamentalmente
en herencia) - El acceso por defecto es public.
15Miembros Static
- Se puede hacer referencia a ese miembro
independientemente de cualqueir objeto de la
clase, antes de que se haya creado un objeto de
esa clase. - Las variables de clase declaradas static son
basicamente variables globales. - Todas las instancias de una clase comparten las
mismas variables static.
16Java y POO
En resumen, los conceptos vistos fueron
- Modificadores
- Constructores
- Sobre carga de métodos
- Acceso a atributos y métodos
17Instrucciónes básicas de Java
Bibliografía
- Manual de referencia, Mc Graw Hill Editores.
Naughton, Patrick Schildt, Herbert (1997) - Java 2 Manual de Usuario y tutorial, Alfaomega,
Agustín Froufe.