Vous êtes sur la page 1sur 27

Unidad III Programacin Orientada a Objetos en Java

Programacin Orientada a Objetos


Programacin I - 0416202

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Contenido
Esta leccin abarca los siguientes temas:
Sobrecarga de Constructores
Sobrecarga de Mtodos
Paso de Objetos como Parmetros
Devolucin de Objetos
Argumentos Variables
Modificador static (en Atributos y Mtodos)

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Preliminares
Para llevar a cabo exitosamente esta leccin debe cumplir con lo
siguiente:
Estudiar y comprender los conceptos de Programacin Orientada
a Objetos.
Tener instalado y funcional el BlueJ.
Descargar y descomprimir el archivo de prcticas:
UIII-P02 Prcticas de Herencia y Sobrecarga de Mtodos Java.rar

en la Seccin de Actividades de la Semana 2: Herencia y


Sobrecarga de Mtodos.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Sobrecarga de Constructores
Los constructores asignan valores iniciales a las variables de
instancia de una clase.
La sobrecarga de un constructor significa tener ms de un
constructor con el mismo nombre pero diferentes tipos y/o
cantidad de argumentos.
Este ejemplo sobrecarga al constructor pblico de la clase Perro:
public class Perro{
public Perro(){...implementacin...}
public Perro(int peso){... implementacin...}
public Perro(String tipoLadrido){... implementacin...}
public Perro(int weight, int volumen, String tipoLadrido){... implementacin...}
}

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Cmo funciona la Sobrecarga de Constructores


La sobrecarga de constructores funciona de la siguiente manera:

Java lee al constructor en base a los argumentos que se le pasen.


Una vez que identifica el nombre del constructor, compara los
tipos de argumentos.
Si los tipos de argumentos no coinciden con el primer
constructor de ese nombre, continuar con el segundo y el
tercero y as sucesivamente hasta identificar que el nombre del
constructor y el tipo de argumento coinciden.
Si no encuentra una coincidencia, el programa no se compilar.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Cmo funciona la Sobrecarga de Constructores


Adicionalmente es importante saber:
Si un constructor no se escribe para una clase, el constructor
predeterminado (sin cdigo) recibe el JVM.
Si no se escribe el constructor predeterminado y existen uno o
ms constructores adicionales, JVM no entregar el constructor
predeterminado.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Sobrecarga de constructores (Ejemplo)


public class Perro{
private int peso;
private int volumen;
private String tipoLadrido ;
public Perro(){
peso = 12;
volumen = 4;
tipoLadrido = Woof;
}
public Perro(int w, int l){
peso = w;
volumen = l;
tipoLadrido = ARF!;
}
public Perro(int w, int l, String bark){
peso = w;
volumen = l;
tipoLadrido = bark;
}
}

Este es un constructor
que especifica el peso del
perro y el volmen de los
argumentos.

Este es un constructor
que especifica el peso del
perro, el volmen y los
ladridos en los
argumentos.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Sobrecarga de Mtodos
Al igual que la sobrecarga de constructores, la sobrecarga de un
mtodo tiene lugar cuando el tipo y/o la cantidad de parmetros
difieren. A continuacin se muestra un ejemplo de una situacin
donde el mtodo necesitar una sobrecarga.
public class Perro{
private int peso;
private int volumen;
private String tipoLadrido;
public void ladrar(String b){
System.out.println(b);
}
public void ladrar(){
System.out.println(tipoLadrido);
}
}

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Objetos como parmetros


Un parmetro es una variable en una declaracin de mtodo que se
pasa al mtodo.
public int metodo (int parametro1, int parametro2)

Los tipos de parmetros son aquellos que se pueden pasar a un


mtodo. Esto incluye:
Tipos primitivos (por ejemplo int, double, char)
Objetos (por ejemplo String, Arreglos, Clases de usuario)
public int metodo(int a, double b, String c, MiClase d)

El paso de objetos como parmetros permite un acceso mucho ms


sencillo a la informacin que contiene el objeto.
Adems, permite realizar cambios a los objetos dentro de un
mtodo.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Objetos como parmetros (Ejemplo)

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Devolucin de Objetos
La escritura del mtodo que devuelve un objeto es muy similar a la
escritura del mtodo que devuelve un tipo primitivo.
public MiClase metodo (parametros.)

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Argumentos variables
Un mtodo de argumentos variables:
Es un mtodo escrito para manejar una cantidad variable de
argumentos.
Solo funciona si invoca al mtodo con el mismo tipo de
argumento que el mtodo requiere.
El mtodo de argumento variable se ver de la siguiente
manera:
public int total(int ... nums){
int sum = 0;
for(int i = 0; i < nums.length; i++)
sum += nums[i];
return sum;
}

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Argumentos variables
En un programa, debe conocer la cantidad de elementos de
un vector para crear uno. Si la cantidad de elementos cambia,
necesitar un vector diferente para cada longitud diferente.
El uso de un argumento variable permite el uso del mtodo,
sin tener siquiera que inicializar un vector.
Adems, permite varios usos con una cantidad variable de
elementos.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Objetos como parmetros


Un parmetro es una variable en una declaracin de mtodo que se
pasa al mtodo.
public int metodo (int parametro1, int parametro2)

Los tipos de parmetros son aquellos que se pueden pasar a un


mtodo. Esto incluye:
Tipos primitivos (por ejemplo int, double, char)
Objetos (por ejemplo String, Arreglos, Clases de usuario)
public int metodo(int a, double b, String c, MiClase d)

El paso de objetos como parmetros permite un acceso mucho ms


sencillo a la informacin que contiene el objeto.
Adems, permite realizar cambios a los objetos dentro de un
mtodo.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Argumentos variables (Ejemplo)

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Modificador static
Mediante el uso de variables de instancia, cada instancia de una
clase creada con la palabra clave nueva crea una copia de todas las
variables de instancia en esa clase.
Por ejemplo, en la clase Empleado que figura ms adelante, se crea
una copia exclusiva del apellido y primer nombre para cada nuevo
objeto Empleado que se cree en una clase de controlador.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Modificador static

public class Empleado{


private String apellido;
private String nombre;
private static String MyCompany = Oracle;
}
//Se crean 2 nuevos empleados en la funcin principal
Empleado e1 = new Empleado (Smith, Mary);
Empleado e2 = new Empleado(Jones, Sally);

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Modificador static
Es una palabra clave en Java que modifica la asociacin de un
elemento con una clase.
El contenido de una clase que se identifica como static se
comparte en todas las instancias de la clase.
Esto significa que todas las instancias de esa clase comparten una
copia de los elementos static y cada una posee su propias copias
exclusivas de elementos de instancia o elementos no estticos.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Modificador static
Por ejemplo, Considere la inicializacin de un String static con el
valor Oracle denominado myCompany, que representa a la
empresa del empleador. Cada instancia de Empleado tendr todava
sus variables de instancia exclusivas, pero compartir la variable
static .

Variable de
Instancia
Mary Smith

Variables
estticas
Oracle

Variable de
Instancia
Sally Jones

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Modificador static en Atributos


Atributos estticos:
Conocidos tambin como variables de clases.
Se declaran con la palabra clave static.
Tienen solamente una copia en la memoria, a diferencia de
los atributos de instancia, que conservan una copia por
instancia.
Se comparten mediante instancias de objetos.
Conservan el mismo valor para todas las instancias de clase.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Modificador static en Atributos


Acceso pblico para variables estticas:
Si el acceso es pblico, pueden ser modificadas directamente
por otras clases.
Considere convertir a la variable en constante mediante el
uso de la palabra clave final, a fin de evitar modificaciones.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Modificador static en Atributos (Ejemplo)

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Modificador static en Mtodos


Los mtodos estticos o de clase existen una sola vez y se
comparten entre todas las instancias de clase.
Pueden ser utilizados por otros mtodos de clase o mtodos
de instancia segn su modificador de acceso.
No pueden acceder a los atributos no estticos o de instancia.
Los mtodos estticos pueden acceder nicamente a los
atributos estticos.
No pueden acceder a los mtodos no estticos o de instancia.
Los mtodos estticos pueden acceder nicamente a otros
mtodos estticos.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Modificador static en Mtodos


Se pueden redefinir en subclases.
Pueden ser pblicos, protegidos, predeterminados o
privados.
La invocacin de un mtodo de instancia es diferente con relacin al
mtodo de clase (esttico).
Por ejemplo, primero debe crear una instancia y luego usar
una notacin de puntos para invocar a un mtodo de
instancia; mientras que, el nombre de la clase, la notacin de
puntos y el nombre del mtodo esttico invocan a un mtodo
esttico.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Modificador static en Mtodos (Ejemplo)


La clase Tortuga tiene una variable esttica que identifica a la
cantidad de tanques que tenemos disponibles (numTanks) y una
variable de instancia (tankNum) que nos indica en qu tanque se
encuentra la tortuga.

Sobrecarga de Mtodos, Paso de Objetos y Modificador static

Modificador static en Mtodos (Ejemplo)

Vous aimerez peut-être aussi