método tostring para clases en java
Post on 24-Feb-2018
251 Views
Preview:
TRANSCRIPT
-
7/25/2019 Mtodo ToString Para Clases en Java
1/13
Mtodo toString para clases en JavaEl mtodotoString nos permite mostrar la informacin completa de un objeto, es
decir, el valor de susatributos.
Este mtodo tambin se hereda de java.lang.Object, por lo que deberemos
sobrescribir este mtodo. Esta es su definicin:
publicString toString (){
String mensaje="El empleado se llama "+nombre+" "+apellido+"
con "+edad+" aos "+
"y un salario de "+salario;
returnmensaje;
}
El mensaje puede ser como nosotros queramos.
Veamos un ejemplo practico:
publicclassEmpleadoApp {
publicstaticoidmain(String! args) {
##$reamos dos objetos distintos
Empleado empleado%=ne&Empleado("'ernando" "rea" * ,--);
Empleado empleado*=ne&Empleado("Antonio" ".ope/" *0 1--);
Empleado empleado=ne&Empleado("Alaro" "2ere/" %1 0--);
##3ostramos la in4ormacion del objeto
System5out5println(empleado%5toString()); System5out5println(empleado*5toString());
System5out5println(empleado5toString());
}
}
Variable this en ava
!a variablethisse usa para diferenciar un atributo de una variable normal " corriente
dentro de una clase. Veamos un ejemplo de un tro#o de una clase:
##$onstructores
#66
6 $onstructor por de4ecto
6#
publicEmpleado(){
t7is5nombre="";
t7is5apellido="";
t7is5edad=-;
http://www.discoduroderoer.es/metodo-tostring-para-clases-en-java/http://www.discoduroderoer.es/variable-this-en-java/http://www.discoduroderoer.es/variable-this-en-java/http://www.discoduroderoer.es/metodo-tostring-para-clases-en-java/ -
7/25/2019 Mtodo ToString Para Clases en Java
2/13
t7is5salario=-;
}
#66
6 $onstructor con 8 parametros
6 9param nombre nombre del empleado
6 9param apellido nombre del empleado
6 9param edad edad del empleado 6 9param salario salario del empleado
6#
publicEmpleado(String nombre String apellido intedad
doublesalario){
t7is5nombre=nombre;
t7is5apellido=apellido;
t7is5edad=edad;
t7is5salario=salario;
}
$omo vemos, los atributos deben diferenciarse de las variables que pasamos como
par%metros.&ambin se usa para invocar mtodos de una propia clase dentro de esta. Otro uso
es invocar otro constructor pasandole como par%metro, los par%metros del propio
constructor. Veamos un ejemplo, de este ultimo uso:
##$onstructores
#66
6 $onstructor por de4ecto
6#
publicEmpleado(){
t7is("" "" - -);
}
#66
6 $onstructor con 8 parametros
6 9param nombre nombre del empleado
6 9param apellido nombre del empleado
6 9param edad edad del empleado
6 9param salario salario del empleado
6#
publicEmpleado(String nombre String apellido intedad double
salario){
t7is5nombre=nombre;
t7is5apellido=apellido;
t7is5edad=edad;
t7is5salario=salario;
}
$omo vemos, es como si llam%ramos al constructor que tiene esos par%metros con
esos tipos de datos.
66
6 $lase Empleado
6
6 $ontiene in4ormacion de cada empleado6
-
7/25/2019 Mtodo ToString Para Clases en Java
3/13
6 9aut7or 'ernando
6 9ersion %5-
6#
publicclassEmpleado {
##Atributos
#66 6 :ombre del empleado
6#
priateString nombre;
#66
6 Apellido del empleado
6#
priateString apellido;
#66
6 Edad del empleado
6#
priateintedad;
#66 6 Salario del empleado
6#
priatedoublesalario;
##3etodos publicos
#66
6 euele el nombre del empleado
6 9return nombre del empleado
6#
publicString get:ombre() {
returnnombre; }
#66
6 3odi4ica el nombre de un empleado
6 9param nombre
6#
publicoidset:ombre(String nombre) {
t7is5nombre = nombre;
}
#66
6 euele la edad de un empleado 6 9return edad del empleado
6#
publicintgetEdad() {
returnedad;
}
#66
6 3odi4ica la edad de un empleado
6 9param edad
6#
publicoidsetEdad(intedad) {
t7is5edad = edad; }
-
7/25/2019 Mtodo ToString Para Clases en Java
4/13
#66
6 euele el salario de un empleado
6 9return salario del empleado
6#
publicdoublegetSalario() {
returnsalario;
}
#66
6 Suma un plus al salario del empleado si el empleado tiene mas
de 8- aos
6 9param sueldo2lus
6 9return
-
7/25/2019 Mtodo ToString Para Clases en Java
5/13
t7is5edad=edad;
t7is5salario=salario;
}
}
$lase ejecutablepublicclassEmpleadoApp {
publicstaticoidmain(String! args) {
Empleado empleado%=ne&Empleado ("'ernando" "rea" * 0--);
Empleado empleado*=ne&Empleado ("" ".ope/" -%0--);
##3ostramos el alor actual del salario del empleado%
System5out5println("El salario del empleado% es
"+empleado%5getSalario());
##3odi4icamos la edad del empleado%
empleado%5setEdad(8);
empleado%5plus(%--);
##3ostramos el salario de nueo a7ora tendra %-- mas
System5out5println("El salario actual del empleado% es
"+empleado%5getSalario());
##3odi4icamos el nombre del empleado*
empleado*5set:ombre("Antonio");
empleado*5plus(%--);
##3ostramos el salario de nueo a7ora tendra %-- mas
System5out5println("El salario del empleado* es
"+empleado*5getSalario());
}
}
'erencia ava
#66
6 $lase Empleado
6
6 $ontiene in4ormacion de cada empleado
6
6 9aut7or 'ernando
6 9ersion %5-
6#
publicclassEmpleado {
http://www.discoduroderoer.es/herencia-java/http://www.discoduroderoer.es/herencia-java/ -
7/25/2019 Mtodo ToString Para Clases en Java
6/13
##Atributos
#66
6 :ombre del empleado
6#
protectedString nombre;
#66 6 Apellido del empleado
6#
protectedString apellido;
#66
6 Edad del empleado
6#
protectedintedad;
#66
6 Salario del empleado
6#
protecteddoublesalario;
##3etodos publicos
#66
6 euele el nombre del empleado
6 9return nombre del empleado
6#
publicString get:ombre() {
returnnombre;
}
#66
6 3odi4ica el nombre de un empleado 6 9param nombre
6#
publicoidset:ombre(String nombre) {
t7is5nombre = nombre;
}
#66
6 euele la edad de un empleado
6 9return edad del empleado
6#
publicintgetEdad() {
returnedad; }
#66
6 3odi4ica la edad de un empleado
6 9param edad
6#
publicoidsetEdad(intedad) {
t7is5edad = edad;
}
#66
6 euele el salario de un empleado 6 9return salario del empleado
6#
-
7/25/2019 Mtodo ToString Para Clases en Java
7/13
publicdoublegetSalario() {
returnsalario;
}
#66
6 Suma un plus al salario del empleado si el empleado tiene mas
de 8- aos 6 9param sueldo2lus
6 9return
-
7/25/2019 Mtodo ToString Para Clases en Java
8/13
t7is5salario=salario;
}
}
$lase hija $omercial:
#66
6 $lase $omercial6
6 $ontiene in4ormaciBn de un comercial un tipo de empleado
6
6 9aut7or 'ernando
6 9ersion %5-
6#
publicclass$omercial eCtendsEmpleado{
##Atributos aun@ue no indi@uemos nada es como si tuiera los
atributos del padre
#66 6 $omision por enta del comercial
6#
priatedoublecomision;
#66
6 $onstructor por de4ecto
6#
public$omercial(){
t7is5comision=-;
}
#66
6 $onstructor con parametros
6 9param nombre nombre del comercial
6 9param apellido apellido del comercial
6 9param edad edad del comercial
6 9param salario salario del comercial
6 9param comision comision del comercial
6#
public$omercial(String nombre String apellido intedad double
salario doublecomision) {
super(nombre apellido edad salario);
t7is5comision=comision;
}
}
($lase hija )epartidor
#66
6 $lase Departidor
6
6 $ontiene in4ormaciBn de un repartidor un tipo de empleado
6
6 9aut7or 'ernando
6 9ersion %5-6#
-
7/25/2019 Mtodo ToString Para Clases en Java
9/13
publicclassDepartidor eCtendsEmpleado{
##Atributos aun@ue no indi@uemos nada es como si tuiera los
atributos del padre
#66
6 ona del repartidor
6#
priateString /ona;
#66
6 $onstructor por de4ecto
6#
publicDepartidor(){
t7is5/ona="";
}
#66
6 $onstructor con parametros 6 9param nombre nombre del repartidor
6 9param apellido apellido del repartidor
6 9param edad edad del repartidor
6 9param salario salario del repartidor
6 9param /ona /ona del repartidor
6#
publicDepartidor(String nombre String apellido intedad double
salario String /ona) {
super(nombre apellido edad salario);
t7is5/ona=/ona;
}
}
Va"amos por partes, en la clase padre, vemos que los atributos en lugar
de private usamos protected, haciendo que los atributos se hereden a las clases
hijas.
En las clases hijas, vemos que despus del nombre de la clase escribimos e*tends
nombre+clase+padre, tambin tienen sus propios atributos.
ebemos tener en cuenta varios aspectos, los constructores de la clase hija siempre
llaman al constructor por defecto -el que no tiene par%metros de la clase padre,tambin podemos indicar que constructor debe de llamar, se indica
con super-parametros/, despus podemos hacer lo queramos. Si no indicamos nada
es como si escribiramos super-/.
&ambin debemos tener en cuenta que los mtodos no es necesario que los
heredemos, "a que conpublic las clases hijas podr%n acceder a los mtodos de la
clase padre.
&ambin podemos llamar mtodos de la clase padre
consuper.nombre+mtodo-par%metros podemos usarlo para que llame a un mtodo
-
7/25/2019 Mtodo ToString Para Clases en Java
10/13
que necesitamos para un mtodo de la clase hija. 0os ahorrara trabajo, es mejor que
copiar " pegar cdigo.
1hora vamos a ver un ejemplo de crear objetos de estas clases heredadas:
publicclassEmpleadoApp {
publicstaticoidmain(String! args) {
##$reamos objetos de las clases 7ijas
$omercial comercial%=ne&$omercial("Antonio" ".ope/" *8 ,--
-);
Departidor repartidor%=ne&Departidor("'ernando" "rea" 8
8-- "Este");
##Fnocamos los metodos de la clase padre
comercial%5plus(--);
repartidor%5plus(--);
##3ostramos los atributos usando los metodos get de la clase
padre
System5out5println("El salario actual del comercial es
"+comercial%5getSalario());
System5out5println("El salario actual del repartidor es
"+repartidor%5getSalario());
}
}
CLASS FIGURA GEOMETRICA:
pacGage 'igurasHeometricas;
public abstract class 'iguraHeometrica {
protected double alor%;
public 'iguraHeometrica(double alor%) {
super();
t7is5alor% = alor%;
}
public double getIalor%() {
return alor%;
}
public oid setIalor%(double alor%) {
t7is5alor% = alor%;
}
public abstract double getArea();
public abstract double get2erimetro();
}
CLASS CIRCULO:
-
7/25/2019 Mtodo ToString Para Clases en Java
11/13
public class $irculo eCtends 'iguraHeometrica {
public $irculo(double alor%) {
super(alor%);
}
9Jerride
public double getArea() {
return 3at752F63at75po&(t7is5alor% *);
}
9Jerride
public double get2erimetro() {
return 3at752F6t7is5alor%;
}
}
.
public class $uadrado eCtends 'iguraHeometrica {
public $uadrado(double alor%) {
super(alor%);
}
9Jerride
public double getArea() {
return 3at75po&(t7is5alor% *);
}
9Jerridepublic double get2erimetro() {
return t7is5alor%68;
}
}
..
public class Dectangulo eCtends 'iguraHeometrica {
protected double alor*;
public Dectangulo(double alor% double alor*) {
super(alor%);
t7is5alor* = alor*;}
public double getIalor*() {
return alor*;
}
public oid setIalor*(double alor*) {
t7is5alor* = alor*;
}
9Jerride
public double getArea() {
return t7is5alor%6t7is5alor*;}
-
7/25/2019 Mtodo ToString Para Clases en Java
12/13
9Jerride
public double get2erimetro() {
return *6t7is5alor% + *6t7is5alor*;
}
}
public class Kriangulo eCtends 'iguraHeometrica {
priate double alor*;
public Kriangulo(double alor% double alor*) {
super(alor%);
t7is5alor* = alor*;
}
public double getIalor*() {
return alor*;
}
public oid setIalor*(double alor*) {
t7is5alor* = alor*;
}
9Jerride
public double getArea() {
return (t7is5alor%6t7is5alor*)#*;
}
9Jerride
public double get2erimetro() {
return t7is5alor% + (* 6 3at75s@rt((3at75po&(t7is5alor%*)+3at75po&(t7is5alor* *))));
}
}
.
public class $ubo eCtends $uadrado {
public $ubo(double alor%) {
super(alor%);
}
public double getArea() { return 3at75po&(t7is5alor% );
}
}
public class 2rincipal {
public static oid main(String! args) {
'iguraHeometrica 4igura;
4igura = ne& $irculo();
System5out5println(4igura5get$lass());
System5out5println("Area> "+4igura5getArea());
System5out5println("2erimetro> "+4igura5get2erimetro());
-
7/25/2019 Mtodo ToString Para Clases en Java
13/13
4igura = ne& $uadrado();
System5out5println(4igura5get$lass());
System5out5println("Area> "+4igura5getArea());
System5out5println("2erimetro> "+4igura5get2erimetro());
4igura = ne& Dectangulo(*);
System5out5println(4igura5get$lass());
System5out5println("Area> "+4igura5getArea()); System5out5println("2erimetro> "+4igura5get2erimetro());
4igura = ne& Kriangulo(*);
System5out5println(4igura5get$lass());
System5out5println("Area> "+4igura5getArea());
System5out5println("2erimetro> "+4igura5get2erimetro());
4igura = ne& $ubo();
System5out5println(4igura5get$lass());
System5out5println("Area> "+4igura5getArea());
System5out5println("2erimetro> "+4igura5get2erimetro());
}
}
top related