0% encontró este documento útil (0 votos)
240 vistas

Programación Orientada A Objetos en Java Elogos

Este documento describe conceptos básicos de programación orientada a objetos en Java, incluyendo las clases, atributos, métodos, objetos y cómo crearlos. Explica que una clase define el comportamiento de los objetos mediante métodos y atributos privados, y que los objetos se crean a partir de clases usando el operador new. También propone ejemplos de clases como Triangulo y Calculadora para ilustrar estos conceptos.

Cargado por

jogipe96
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
240 vistas

Programación Orientada A Objetos en Java Elogos

Este documento describe conceptos básicos de programación orientada a objetos en Java, incluyendo las clases, atributos, métodos, objetos y cómo crearlos. Explica que una clase define el comportamiento de los objetos mediante métodos y atributos privados, y que los objetos se crean a partir de clases usando el operador new. También propone ejemplos de clases como Triangulo y Calculadora para ilustrar estos conceptos.

Cargado por

jogipe96
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 47

LENGUAJE JAVA

_________________________________________________________________________________________________________

Programación
orientada a objetos
en java:

LAS CLASES

1
LENGUAJE JAVA
_________________________________________________________________________________________________________

PROGRAMACIÓN O. OBJETOS CON JAVA


JAVA es un lenguaje de programación orientado a objetos. A continuación se
profundiza en cada una de los conceptos y características de la programación
orientada objetos.

7.1 LAS CLASES


En JAVA todos los programas son clases.

La mayor ventaja de definir y usar clases es la posibilidad de reutilizar código.

La clase es quien define el comportamiento de los objetos. Cuando se trata de crear


una clase hay que definir y crear los métodos y datos miembro que compondrán la
clase para que a posteriori podamos utilizarlos en nuestros programas. Los datos
miembro deben definirse como private.

Una clase contendrá un numero determinado de datos miembro (variables) y mediante


los métodos accedemos a los datos miembro para leerlos o para modificarlos. Las
clases deben proporcionar métodos que permitan el acceso a los datos miembro de la
clase, tanto para asignar como para leer sus valores. También debe poseer métodos que
realizan operaciones con esos datos mienbros.

REPRESENTACIÓN GRÁFICA DE CLASES Y OBJETOS

CLASES OBJETOS
Nombre de la clase Nombre nombre del objeto

nombre
Atributos (Datos Miembro) valores de los atributos del objeto
Características de la clase nombre memoria o estado
lo que se es o cómo está nombre particular de cada objeto
.....
Nombre
Métodos Todos los objetos de una clase
Lo que puede hacerse
nombre pueden hacer exactamente
con objetos de esa clase: nombre lo mismo
Posible comportamiento. nombre
.....

Las clases están organizadas en paquetes. Un paquete contiene un conjunto de clases


con una utilidad similar. Ahora bien, dentro de un archivo Java puede haber definidos
varias clases, pero dentro de un archivo Java sólo puede haber una clase pública, y
además su nombre tiene que coincidir con el nombre del archivo Java.

2
LENGUAJE JAVA
_________________________________________________________________________________________________________

Ejemplo de creación de una clase:


[public] class MiClase {
// Datos Miembro de la clase
private String nombre;
private int valor;

// Métodos de la clase
public String getNombre( ) {
return nombre;
}
public void setNombre(String n) {
nombre=n;
}
}

La instrucción return permite a la clase devolver un valor.

En Java no hay distinción entre funciones y procedimientos y les llamamos métodos.

Cuando un método devuelve un valor en su definición hay que indicar el tipo del valor
que devuelve, si no devuelve nada, se indica con la palabra clave void.

Para crear un objeto a partir de una clase, se hace con el operador new. Los objetos
se almacenan en variables. Los objetos se tratan como si fueran datos normales, es
decir, se guardan en variables.

Primera pr = new Primera( );


Tipo de Nombre de la
objeto que clase a partir de
Nombre de la Operador para
guardará la la que crearemos
variable Nombre del crea crear
variable pr el objeto
objeto creado objetos

Cuando creamos una clase debemos de abstraernos del uso particular que tendrá cada
objeto en los programas. Tan solo hay que pensar en cómo conseguir la funcionalidad
que pretendemos dar a la clase con sus datos miembro y métodos, sin pensar nunca en
el programa que va a dar uso a esos objetos.

Ejemplo: Crear la clase Triangulo.java:


Datos miembro: base, altura
Métodos: área, perímetro

3
LENGUAJE JAVA
_________________________________________________________________________________________________________

Una posible solución:


class Triangulo {
//DATOS MIEMBRO
private int base;
private int altura;
// METODOS
public void inicializa(int a, int h) {
base=a;
altura=h;
}
public int getBase( ) {
return base;
}
public void setBase(int pbase) {
base=pBase;
}
public int getAltura( ) {
return altura;
}
public void setAltura(int paltura) {
altura=paltura;
}
public double area( ) {
return (base * altura)/2;
}
public double perímetro( ) { //supongamos que es válido
int hipot= Math.sqrt(Math.pow(base, 2) + Math.pow(altura, 2));
return ( base + altura + hipot );
}
}

Ahora para probar si mi clase funciona y esta correctamente escrita, lo primero que
hacemos es compilar. Una vez depurada y sin errores realizamos un pequeño programa
de prueba en el método main( ).

........................................................Y en alguna clase........................................


public static void main (string[ ] args)
{
Triangulo tri= new Triangulo( ); //se crea el ojeto de la clase Triangulo
tri.setBase(10);
tri.setAltura(2);
tri.inicializa( 100,50); // otra forma de inicializar la base y la altura
System.out.println(“base: ” + tri.getBase( ));
System.out.println(“altura: ” + tri.getAltura( ));
System.out.println(“area: ” + tri.area( ));
System.out.println(“perimetro: ” + tri.perimetro( ));
}

4
LENGUAJE JAVA
_________________________________________________________________________________________________________

PROGRAMA A REALIZAR POR LOS ALUMNOS (ClsCalculadora.java):

Hacer una clase : ClsCalculadora.java que será capaz de sumar,..., DOS numeros.

Tendrá cuatro métodos:


void inicializar ( ) //inic. cada operando con un cinco
int sumar (int, int)
int restar(int, int)
int multiplicar(int, int)
int dividir(int, int)

Hacer una clase ClsOperacioenes.java que desde su método MAIN ejecute los
métodos de la clase ClsCalculadora.

PROGRAMA A REALIZAR POR LOS ALUMNOS (clase aleatoria):

Realizar un programa que genere números aleatorios dentro de un rango. El usuario nos
dará la cantidad de números a generar así como el número más pequeño y el número
más grande a generar.

Métodos:

public void generar (int num, int rangoini, int rangofinal)


num ⇒ Nº de números aleatorios a generar
rangoini ⇒ Nº desde el que comienza a generar los aleatorios
rangofinal ⇒ Nº hasta el que genera números aleatorios

public void ordenar (boolean tipo)


tipo ⇒ indica si se ordena en ascendente(true) o descendentemente(false)

public int total( ) ⇒ indica el nº de números aleatorios generados

public int elemento(int pos) ⇒ Devuelve el elemento generado que ocupa


la posición “pos”, comprobar antes que dicha posición
esta dentro de la tabla.

5
LENGUAJE JAVA
_________________________________________________________________________________________________________

EN LA SOLUCIÓN PROPUESTA DEBAJO SE HACE TODO EN UNA SOLA CLASE

6
LENGUAJE JAVA
_________________________________________________________________________________________________________

7
LENGUAJE JAVA
_________________________________________________________________________________________________________

SOLUCION: CREACIÓN DE LA CLASE ALEATORIA.

8
LENGUAJE JAVA
_________________________________________________________________________________________________________

9
LENGUAJE JAVA
_________________________________________________________________________________________________________

10
LENGUAJE JAVA
_________________________________________________________________________________________________________

SOLUCION: EJECUCIÓN DE LA CLASE ALEATORIA

11
LENGUAJE JAVA
_________________________________________________________________________________________________________

PROGRAMA A REALIZAR POR LOS ALUMNOS


(Pila de cadenas de caracteres):

Crear una clase llamada “Pila” que contenga cadenas de caracteres (String):

Métodos propuestos para la clase PILA DE CADENAS:

Inicializa: sirve para asignarle un tamaño a la pila:


int inicializar(int tamaño);
Poner: sirve para añadir elementos a la pila, si la pila esta llena, no se permitirá añadir
más elementos a la pila y devolvera un false:
boolean agregar(String cadenaAañadir);
Sacar: devuelve el último elemento de la pila el borrado (y la pila tendrá un elemento
menos): String sacarCadena( );
Cuantos quedan: devuelve la cantidada de elementos que quedan en la pila:
int cuantosQuedan( );
Lugar: devuelve la cadena de una posición solicitada de la pila:
String posicionN( int );

Crear Programa de prueba:

Crear un MENU:

• Si se teclea 1.- Se creará la pila de cadenas de tamaño N.

• Si se teclea 2.- Meter (añadir) una cadena de la pila:


Se solicitará que se introduzca una cadena.
- Si me devuelve “true” ==> acción OK
- Si me devuelve “false” ==> Error no caben más

• Si se teclea 3.- SacarCadena (Borrar) una cadena de la pila:


Se dirá ”LA CADENA BORRADA ES =>” cadena

• Si se teclea 4.- Consultar una posición de la pila:


Se dirá ”La posición(n)= ” cadena

• Si se teclea 5.- Consulta cuantos elementos quedan en la pila.

• Si se teclea 6.- Salir.

12
LENGUAJE JAVA
_________________________________________________________________________________________________________

SOLUCION: CREACIÓN DE LA CLASE PILA DE E/S.

13
LENGUAJE JAVA
_________________________________________________________________________________________________________

14
LENGUAJE JAVA
_________________________________________________________________________________________________________

SOLUCION: PRUEBA DE LA CLASE PILA DE E/S.

15
LENGUAJE JAVA
_________________________________________________________________________________________________________

Creación de Métodos estáticos (ampliación de lo visto más arriba)


Un método estático es aquel que no está asociado a un objeto y depende
directamente de la clase. Para llamarlos se pone el nombre de la clase, un punto y el
nombre del método con sus parámetros.

num = Integer.parseInt(string)
num = Math.random( )

Los métodos estáticos operan directamente con los valores de sus parámetros, no con
los objetos.

Para crear un método estático se hace al definir el método después de la palabra clave
public con el modificador static, antes de indicar el valor que devuelve.

Los métodos estáticos tienen sus limitaciones, por ejemplo, no pueden utilizar los datos
miembro de la clase ya que estos son características internas de los objetos de la
clase y los métodos estáticos no dependen de ningún objeto, salvo que los datos
miembro estén definidos como estáticos.

16
LENGUAJE JAVA
_________________________________________________________________________________________________________

Ejemplo de Método Estático:

class Prueba {
public static double cuadrado (int num) {
return num*num;
}
}
.............
.............
Prueba.cuadrado(20);

Un dato miembro estático no tiene mucho sentido excepto si ese dato miembro
queremos que sea una constante. Por Ej. el valor de pi(π). Ese valor lo pueden utilizar
cualquier método estático. Es útil si queremos definir una constante que será utilizada
por varios métodos estáticos diferentes.

class prueba {
private static int iva = 16;
public static float calculo( )
{ …… }
}

En el ejemplo de arriba, por ser static “iva” todos los objeto que usen esta clase,
compartiran dicha variable (es como una constante).
Si no fuese static cada objeto que use esta clase trabajará con su propia copia de la
variable “iva”.

Sí en una clase tiene que llamar a un método de la propia clase es suficiente con poner
el nombre del método:

class aleatorio {
public int total( ) {
…..........................…
}
public void generar( ) { ó
for (int i=0; i < total( ) ; i++) for (int i=0; i< this.total( ); i++)
…..........................…
}
}

This ⇒ Es una palabra que representa al propio objeto (a sí mismo).

17
LENGUAJE JAVA
_________________________________________________________________________________________________________

Un método estático no puede llamar a ningún método de su propia clase a no ser que
ese método sea estático, ya que si el método no es estático es porque está asociado al
propio objeto.

Desde un método no estático se puede llamar a variables estáticas y a métodos


estáticos, pero al contrario no.

DATOS MIEMBRO DE CLASE MÉTODOS DE CLASE


• Normalmente los atributos declarados • Los métodos de una clase son compartidos por todos
existen en cada objeto y no se mezclan. los objetos de esa clase.
• Los atributos static: • Un método static:
o sólo existe uno para todos los objetos o se puede llamar haciendo referencia a la clase
o todos los objetos lo comparten o no hace falta crear el objeto para llamarlo
o si un objeto lo modifica todos lo ven o solo pueden trabajar con atributos static ya que
modificado. los atributos normales no estan creados.

Constantes

Una constante es una variable que tiene un valor fijo y se crea con la palabra “final”
delante del tipo de dato. La palabra final delante del tipo de dato en la definición de
una variable la convierte en una constante por la que a partir de entonces no se le
puede cambiar su valor.

class prueba
{
private final float iva = 16.0;
iva =17; Error⇒ No se puede volver a modificar su valor por ser una constante.
}

Las constantes pueden ser públicas o privadas. Si una constante es pública lo normal es
que sea estática ya que no se encuentra asociada a ningún objeto:

[public/private] static final float pi=3.141592;

No es imprescindible poner las dos con static sería suficiente.

18
LENGUAJE JAVA
_________________________________________________________________________________________________________

LOS MODIFICADORES DE ACCESO EN JAVA

(ÁMBITO DE ACCESO ó VISIBILIDAD DE LOS OBJETOS)

LAS CLASES:
ESTRUCTURA DE UNA CLASE
Ámbito Modifica- objeto Nombre Si Hereda de Si implementa
Visibilidad dores CLASE CLASE otra Clase un Interface

public abstract class ClsMiaX extends ClaseX implements interfacX,...


private final ó ó
ó nada ó nada nada
(package) nada

Clases: Ambito, Visibilidad

El control de acceso o el ambito de una clase determina la relaccion que tiene esa clase
con otras clases de otros paquetes. El cuerpo de la clase consta en general de una
serie de modificadores de acceso( public, protected y private), atributos, mensajes y
metodos.

a) public: Tiene un nivel de acceso publico, es decir, se puede hacer instancia


desde cualquier otro sitio

b) private: Solo se puede aplicar al fichero en el que está

c) nada(asume package): Una clase con nivel de acceso de paquete puede ser
utilizada solo por las clases de su paquete (no estará disponible para
otros paquetes, ni siquiera para los subpaquetes de ese paquete.

REFERENCIA “ this “

Cada objeto mantiene su propia copia de los atributos, pero no de los métodos de su
clase, de los cuales sólo existe una copia para todos los objetos de esa clase. Esto es,
cada objeto almacena sus propios datos, pero para acceder y operar con ellos, todos
comparten los mismos métodos definidos en su clase.

19
LENGUAJE JAVA
_________________________________________________________________________________________________________

Por lo tanto, para que un método conozca la identidad del objeto particular para el que
ha sido invocado, Java proporciona una referencia denominada this , que referencia al
propio objeto en el que estamos. this hace referencia a la propiedad (dato miembro) o
al método de la clase en la que estamos.
super: Hace referencia a la superclase de la que se ha heredado.

Clases: Modificadores

Un modificador es una palabra clave que modifica el nivel de protección, ya sea de una
clase, de un método o de un dato miembro.

a) abstract: Cuando una clase se diseña para ser generica es casi seguro qe no
necesitaremos crear objetos de ella; la razón de su existencia es la de
proporcionar los atributos y métodos que serán compartidos por todas sus
subclases. Siempre habrá alguna de sus funciones miembro que no tenga
código. La subclase perteneciente a esa clase abstracta tendra que
implementar el código. Una clase será abstract cuando algunos de sus
metodos sea abstract. Un metodo abstract lo reconocemos porque va
definido por el modificador abstract, no lleva código y termina en “;” .

b) final: Cuando una clase se declara final estaremos impidiendo que de esa clase se
puedan derivar subclases. No se puede heredar de una clase final. Además
todos sus métodos se convierten automáticamente en final y no se pueden
sobrescribir.

c) sin modificadores: Se puede aplicar siempre la herencia y crear subclases.

20
LENGUAJE JAVA
_________________________________________________________________________________________________________

FUNCIONES O MÉTODOS:
ESTRUCTURA DE FUNCIONES ó MÉTODOS
Ámbito Modifica- tipo Nombre ( parámetros) {sentencias}
Visibilidad dores retorno MÉTODO que recibe
{
public static sentencias
private final TipoDatoX metodoX (tipo,tipo,...) }
ó nada abstract ó ó
(package) ó void (vacio) ó { vacio}
nada

Funciones miembro o métodos: Ambito, Visibilidad.

a) public: Desde cualquier ámbito. Ej: el método Main

b) private: Solo dentro de la clase

c) ó nada (package): su ambito es solo dentro del paquete

Funciones miembro o métodos: Modificadores

a) static: Accede al metodo sin hacer instancia de la clase

b) final: Si es final el método no se puede sobreescribir por la subclase.


Sobreescribir: Es heredar el método de la superclase y modificarlo.

c) abstract: Es un método sin codigo. En las subclases estamos obligados a


meter el código apropiado para este método.

d) nada: Es un método normal. Sin modificadores.

21
LENGUAJE JAVA
_________________________________________________________________________________________________________

PROPIEDADES O DATOS MIEMBROS:


ESTRUCTURA DE PROPIEDADES o DATOS MIEMBRO
Ámbito Modifica- tipo Nombre Valor Inicial Fin de dato
Visibilidad dores DATO DATO del dato

public static = valorInicial


protected final tipoX nombreX ;
private ó ó
ó nada nada nada
(package)

Propiedades o datos miembro. Ámbito, Visibilidad.

a) public: acceso desde cualquier lugar del proyecto

c) protected: Solo pueden acceder la clases que son subclases de ella

d) private: Solo dentro de la clase

b) ó nada (package): desde cualquier lugar del paquete.

Propiedades o Datos Miembro y métodos: Modificadores.

a) static: Con static hacemos que el último valor se conserve y almacene


información común a todos los objetos de esa clase. Lo llamaríamos atributo
de la clase y podremos conservar el valor sin hacer instancia de la clase.
No necesitamos crear un objeto de la clase con el operador new, para
acceder al dato. Basta con: NombreClase.metodo();. Los métodos static
solo pueden llamar a métodos de su misma clase que sean también static y
solo pueden acceder a datos miembro que también sean estáticos.

b) final: declararemos una propiedad final cuando queramos que sea una constante,
no se podrá modificar. Esa referencia solo podra utilizarse para
referenciar a ese objeto.

22
LENGUAJE JAVA
_________________________________________________________________________________________________________

AMBITO DE VISIBILIDAD (Resumen).

sin modificadores: Solo es accesible desde dentro de la misma clase o


paquete.

public: Para que el objeto sea accesible desde el exterior. LO VE TODO EL


MUNDO. (Se puede crear un objeto y luego se puede acceder con
“punto” : objeto.xxxx ).

ClaseObjeto objMio = new ClaseObjeto( );


ObjMio.metodos( );

private: Solo se puede acceder al objeto desde el interior de la clase. Desde


el exterior de la clase NO LO VE NADIE.

protected: (protegido). Solo accesible si se hereda. Solo lo ven las clases que
lo extienden.

static: Se le puede llamar sin crear un objeto de la clase: “clase.método”. Los


métodos static solo pueden llamar a métodos de su misma clase que
sean también static.

NombreClase.Metodo(); Ej: Math.random();


NombreClase.DatoMiembro; Ej: Math.PI;

RESUMEN:

(mayor visibilidad) PUBLIC >PROTECTED > PRIVATE (menor visibilidad)

23
LENGUAJE JAVA
_________________________________________________________________________________________________________

7.2-
programación
orientada a objetos en
java:

CONSTRUCTORES

1
LENGUAJE JAVA
_________________________________________________________________________________________________________

7.2. CONSTRUCTORES

• Concepto de constructor
• Cómo se crea un constructor
• Constructores con parámetros

Un constructor es un método que hay dentro de una clase pero que tiene una
característica especial, que es que se ejecuta automáticamente cuando se crea un
objeto de esa clase.

La sintaxis de un constructor es:

public nombre_clase ( ) {...} ó


public nombre_clase ( parámetros) {...}

Los constructores pueden recibir parámetros pero no pueden devolver nunca nada, por
eso no hay que poner ni void, ni int, ni nada. El nombre del constructor tiene que ser
el mismo que el de la clase.

class MiClase
{
String nombre;
public MiClase (String c)
{
nombre = c;
}
}

Cuando se crea un objeto con el operador new es cuando se ejecuta el constructor.

MiClase p = new MiClase (s)


s es un parámetro que debe ser del tipo del parámetro del constructor

Los constructores se utilizan para inicializar los datos miembro de la clase.


Los datos miembro de una clase deben ser privados.

En java es obligatorio que todas las clases tengan un constructor, si creamos una clase
y no ponemos ningún constructor, java lo crea automáticamente, ahora bien, lo crea sin
parámetros y no hace nada. Esto es lo que se conoce como el constructor por defecto:

2
LENGUAJE JAVA
_________________________________________________________________________________________________________

Formato de un constructor por defecto de una clase, creado por java:


public MiClase( )
{
}

En el momento que nosotros creamos un constructor en una clase, java ya no creará el


constructor por defecto, y si este constructor tiene algún parámetro, al crear un
objeto a partir de esa clase será obligatorio crearlo con los mismos parámetros que los
que tengan los constructores definidos en la clase, ya que si no es así, dará error.

Por ello, si creamos objetos a partir de la clase “MiClase” definida más arriba debemos
de introducir algún parámetro de tipo String, sino dará error:

MiClase objeto = new MiClase (“Esteban”);


MiClase objeto = new MiClase ( ); ⇒ daría error por faltar el parámetro.

EJEMPLO DE USO DE CONSTRUCTORES: CLASE CUENTA BANCARIA

3
LENGUAJE JAVA
_________________________________________________________________________________________________________

4
LENGUAJE JAVA
_________________________________________________________________________________________________________

PRUEBA DE CLASE CUENTA BANCARIA INTERACTIVA

5
LENGUAJE JAVA
_________________________________________________________________________________________________________

041-Contador1 (otro ejemplo)

Ver página siguiente...................

6
LENGUAJE JAVA
_________________________________________________________________________________________________________

Continuación:

7
LENGUAJE JAVA
_________________________________________________________________________________________________________

042-ContadorEnApplet

solo desde Applet

8
LENGUAJE JAVA
_________________________________________________________________________________________________________

9
LENGUAJE JAVA
_________________________________________________________________________________________________________

Contenido del Fichero ContadorEnApplet.htm

10
LENGUAJE JAVA
_________________________________________________________________________________________________________

OTRO EJEMPLO DE CONSTRUCTORES:


/*******************************************************************************\
**** Aqui, Caja define tres constructores para inicializar de varias formas *****
**** las dimensiones de una caja *****
\*******************************************************************************/

11
LENGUAJE JAVA
_________________________________________________________________________________________________________

PROGRAMA A REALIZAR POR LOS ALUMNOS:

Hacer una copia de la clase PILA DE CADENAS y modificarlo para que utilize
CONSTRUCTORES en lugar del Metodo “Inicializa”. Lo demás se puede respetar:

Se eliminará el MÉTODO INICIALIZA

Se le pide al usuario que sea él el que decida si nos introduce el numero


de elementos que se van a guardar en la PILA o bién, en su defecto el
programa creará una pila de 10 elementos.

SOLUCION:

12
LENGUAJE JAVA
_________________________________________________________________________________________________________

RESTO DE MÉTODOS:

13
LENGUAJE JAVA
_________________________________________________________________________________________________________

14
LENGUAJE JAVA
_________________________________________________________________________________________________________

this es una referencia especial predefinida para cada objeto:


☯ Dentro de un objeto existe siempre
☯ Referencia al propio objeto
☯ Es util, cuando hay variables con el mismo nombre.

// Utilizacion redundante de this.


Caja(double Anc, double Alt, double Pro) {
this.Anchura = Anc;
this.Altura = Alt;
this.Profundidad = Pro;
}

// This resuelve colisiones del espacio de nombres.


Caja(double Anchura, double Altura, double Profundidad) {
this.Anchura = Anchura;
this.Altura = Altura;
this.Profundidad = Profundidad;
}
15
LENGUAJE JAVA
_________________________________________________________________________________________________________

• SOBRECARGA DE MÉTODOS

Una clase puede tener varios métodos con el mismo nombre.


Ya hemos visto como se pueden crear varios constructores con el mismo nombre (un
constructor es un método que se llama igual que la clase).

De la misma forma podemos tener varios METODOS diferentes con el mismo


nombre. Pero tienen que tener diferente número de parámetros, o si tienen el
mismo número de parámetros, éstos serán de distinto tipo. Los tipos de los datos
que se retornan no se tienen en cuenta.

Las conversiones automáticas de tipos se mantienen en la sobrecarga de métodos.

EJEMPLOS DE SOBRECARGA DE MÉTODOS:

16
LENGUAJE JAVA
_________________________________________________________________________________________________________

CONVERSIONES IMPLICITAS DE TIPOS:

Debemos definir los tipos de los datos con mucho cuidado para evitar errores o
resultados imprevisibles.

17
LENGUAJE JAVA
_________________________________________________________________________________________________________

PROGRAMA A REALIZAR POR LOS ALUMNOS (CLASE TRIANGULOS):

Crear una clase que sirva para hallar ÁREA DE TRIÁNGULOS.

DATOS MIEMBRO:

La clase contendrá 2 datos miembro: base y altura de tipo entero.


y además para el perímetro: lado1, lado2 y lado3.

CONSTRUCTORES:

1º: Un método inicializa cada dato miembro con un valor por defecto.
Triangulo( );

2º: Otro método inicializa la base y la altura con el mismo valor.


Triangulo( int );

3º: Otro método inicializa la base y la altura con su valor.


Triangulo( int, int );

4º: Otro método inicializa los 3 lados con su valor.


Triangulo( int, int, int );

MÉTODOS:

1º: Cada dato miembro tiene un método GET y un método SET.


Para modificar o para ver los datos miembro.

2º: Habrá los siguientes métodos sobrecargados de área y de perímetro:


int area( );
int perimetro( );
int area( int, int); no usa los datos miembro, usa los datos que recibe
int perimetro(int, int, int); no usa los datos miembro

static float area(float, float) SERÁ ESTÁTICO


static float perimetro(float, float, float) SERÁ ESTÁTICO

18
LENGUAJE JAVA
_________________________________________________________________________________________________________

SOLUCIÓN AL EJERCICIO PROPUESTO (CLASE TRIANGULOS):

19
LENGUAJE JAVA
_________________________________________________________________________________________________________

20
LENGUAJE JAVA
_________________________________________________________________________________________________________

21
LENGUAJE JAVA
_________________________________________________________________________________________________________

22
LENGUAJE JAVA
_________________________________________________________________________________________________________

RESULTADOS
EN PANTALLA

23
LENGUAJE JAVA
_________________________________________________________________________________________________________

También podría gustarte