0% encontró este documento útil (0 votos)
171 vistas6 páginas

Refactorizar Java

Este documento describe el menú de refactoring en NetBeans que ofrece diversas opciones para reestructurar el código de forma segura, como renombrar clases y métodos, encapsular campos, mover clases y métodos entre clases, extraer interfaces y superclases, y eliminar elementos de forma segura al verificar y notificar referencias. El refactoring ayuda a mejorar la estructura y mantenibilidad del código de una manera automatizada.

Cargado por

sergiohf
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como ODT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
171 vistas6 páginas

Refactorizar Java

Este documento describe el menú de refactoring en NetBeans que ofrece diversas opciones para reestructurar el código de forma segura, como renombrar clases y métodos, encapsular campos, mover clases y métodos entre clases, extraer interfaces y superclases, y eliminar elementos de forma segura al verificar y notificar referencias. El refactoring ayuda a mejorar la estructura y mantenibilidad del código de una manera automatizada.

Cargado por

sergiohf
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como ODT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Men de Refactoring en NetBeans

Teniendo las siguientes clases de Java en nuestro proyecto NetBeans (proyecto llamado
PruebaCirculo):
Circulo.java
public class Circulo {
private int !
private int y!
private double radio!
public Circulo()
{
"
## constructor
public Circulo( int valor$% int valor&% double valor'adio )
{
( valor$!
y ( valor&!
establecer'adio( valor'adio )!
"
public void establecer$( int valor$ )
{
( valor$!
"
public int obtener$()
{
return !
"
public void establecer&( int valor& )
{
y ( valor&!
"
public int obtener&()
{
return y!
"
public void establecer'adio( double valor'adio )
{
radio ( ( valor'adio ) *.* + *.* : valor'adio )!
"
public double obtener'adio()
{
return radio!
"
public double obtener,iametro()
{
return - . radio!
"
public double obtenerCircun/erencia()
{
return 0at1.P2 . obtener,iametro()!
"
public double obtener3rea()
{
return 0at1.P2 . radio . radio!
"
public 4tring to4tring()
{
return 5Centro ( 65 7 7 5% 5 7 y 7 58! 'adio ( 5 7 radio!
"
PruebaCirculo.java
import java.tet.,ecimal9ormat!
import java.s:ing.J;ptionPane!
public class PruebaCirculo {
public static void main( 4tring68 args )
Circulo circulo ( ne: Circulo( <=% ><% -.? )!
4tring salida ( 5@a coordenada $ es 5 7 circulo.obtener$() 7
5An@a coordenada & es 5 7 circulo.obtener&() 7
5AnBl radio es 5 7 circulo.obtener'adio()!
circulo.establecer$( <? )!
circulo.establecer&( -* )!
circulo.establecer'adio( >.-? )!
salida 7( 5AnAn@a nueva ubicaciCn y el radio del cDrculo sonAn5 7
circulo.to4tring()!
,ecimal9ormat dos,igitos ( ne: ,ecimal9ormat( 5*.**5 )!
salida 7( 5AnBl diEmetro es 5 7
dos,igitos./ormat( circulo.obtener,iametro() )!
salida 7( 5An@a circun/erencia es 5 7
dos,igitos./ormat( circulo.obtenerCircun/erencia() )!
salida 7( 5AnBl Erea es 5 7 dos,igitos./ormat( circulo.obtener3rea() )!
J;ptionPane.s1o:0essage,ialog( null% salida )!
4ystem.eit( * )!
" ## /in de main
" ## /in de la clase PruebaCirculo
@a estructura de nuestras carpetas en el proyecto NetBeans serE la siguiente:
9igure F9igure F (grap1icsF.png)
9igura F. GisiCn del proyecto NetBeans con las clases java
4i nos situamos en cualHuiera de nuestras clases y botCn derec1o% obtenemos el siguiente menI%
donde podemos observar Hue tenemos la opciCn re/actoriJar:
9igure -9igure - (grap1ics-.png)
9igura -. 0enI de 'e/actoriJar
3 continuaciCn% se encuentra una breve descripciCn de las di/erentes opciones del menI:
'enombrar K Cambia el nombre de una clase% variable o mLtodo. 3dicionalmente modi/ica todo
el cCdigo del proyecto para re/erenciar al nuevo nombre.
9igure <9igure < (grap1ics<.png)
9igura <. ;pciCn renombrar
Cambiamos el nombre Circulo por Circulitos y observamos los cambios en el cCdigo Hue donde
ponDa Circulo a1ora pone Circulitos:
9igure >9igure > (grap1ics>.png)
9igura >. Cambios al aplicar 'enombrar
Cambiar parEmetros de un mLtodo K Permite agregar% eliminar% modi/icar o cambiar el orden de
los parEmetros de un mLtodo% al igual Hue su modi/icador de acceso (private o public).
Bncapsular campos K Bs muy comIn tener Hue acceder a los campos de una clase por medio de
operaciones del tipo:
public set)nombre del campoM(...)
public get)nombre del campoM()
Bs una tarea muy tediosa% por lo cual esta operaciCn permite Hue el programador solo deba
implementar los campos% delegando a NetBeans la tarea de NencapsularlosO. TambiLn es posible Hue
todo cCdigo del proyecto Hue accede directamente al campo% pase automEticamente a utiliJar el
NsetterO o el NgetterO determinado.
3scender mLtodos o campos K Permite subir un mLtodo o campo a otra clase de la cual 1ereda la
clase Hue contiene al mLtodo o campo Hue deseamos subir.
,escender clases anidadas% mLtodos o campos K Permite bajar una clase anidada% mLtodo o
campo a otra clase la cual 1ereda de la clase Hue contiene a la clase anidada% mLtodo o campo Hue
deseamos bajar.
0over una clase K 0ueve una clase a otro pacPage o dentro de otra clase. 3dicionalmente
modi/ica todo el cCdigo del proyecto para re/erenciar al nuevo lugar donde se moviC la clase.
9igure ?9igure ? (grap1ics?.png)
9igura ?. ;pciCn 0over clase
Convertir una clase anCnima anidada a una clase anidada K Crea una nueva clase anidada% la
cual tendrE un nombre y un constructor. @a clase anCnima anidada serE sustituida por esta nueva
clase anidada.
Btraer una inter/ase K Permite seleccionar cuales mLtodos pIblicos no estEticos de una clase o
inter/ase% irEn a parar a una nueva inter/ase. @a clase de la cual /ue etraDda la inter/ase
implementarE la nueva inter/ase creada. @a inter/ase de la cual /ue etraDda la inter/ase etenderE la
nueva inter/ase.
9igure Q9igure Q (grap1icsQ.png)
9igura Q. ;pciCn Btraer inter/aJ
Btraer una superclase K ,espliega al programador los mLtodos y campos Hue se pueden mover
a una superclase. Bl programador selecciona cuales desea mover y NetBeans crearE una nueva clase
abstracta Hue contendrE dic1os campos y mLtodos% tambiLn 1arE Hue la clase re/actoriJada la
etienda.
9igure =9igure = (grap1ics=.png)
9igura =. ;pciCn Btraer superclase
Rsar supertipo cuando sea posible K ,espliega al programador todas las clases Hue etiende la
clase actual. Bl programador seleccionarE una% y NetBeans buscarE en todo el proyecto re/erencias a
la clase Hue se Huiere re/actoriJar% si encuentra re/erencias% determinarE si es posible utiliJar la
superclase seleccionada.
9igure S9igure S (grap1icsS.png)
9igura S. ;pciCn Rsar supertipo cuando sea posible
BliminaciCn seguro K Cuando eliminamos un mLtodo o clase% debemos garantiJarnos de Hue
nadie mEs lo utilice en el proyecto. Bsta operaciCn veri/ica y noti/ica las re/erencias encontradas%
proveyendo de mecanismos para Hue /Ecilmente el programador pueda eliminar una a una las
re/erencias% para /inalmente llevar a cabo la operaciCn de borrado de modo seguro.
9igure T9igure T (grap1icsT.png)
9igura T. ;pciCn BliminaciCn segura
2ntroducir constantes% variables% campos o mLtodos K Bl programador selecciona un /ragmento
de cCdigo% y luego presiona las teclas )altM7)BnterM. NetBeans desplegarE varias opciones Itiles%
como encapsular ese /ragmento en un mLtodo y re/erenciar al mLtodo% anidarse en :1ile% i/% etc.
4iempre Hue sea posible% utiliJar las 1erramientas de re/actoring Hue NetBeans provee% de este
modo no solo serE muc1o mEs sencillo este tipo de procedimiento% sino Hue ademEs ejecutaremos
un proceso seguro mediante el cual no introduciremos errores 1umanos.

También podría gustarte