<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1"> <TITLE>Software::JRefactory - Push Down Field</TITLE> </HEAD> <BODY> <P> <TABLE BORDER="0"> <TR> <TD WIDTH="150" ALIGN="LEFT" VALIGN="TOP" ROWSPAN="3" BGCOLOR="#DDDDDD"> <IMG SRC="JRefactory.jpg" ALT="Author: Mike Atkinson"> <A HREF="chrissoft.html">Software</A> <BR> <UL> <LI> <A HREF="cspretty.html">Pretty Printer</A> <BR> <LI> JRefactory<BR> <LI> <A HREF="csprint.html">Printing</A> <BR> <LI> <A HREF="cselixirext.html">Elixir Extensions</A> <BR> <LI> <A HREF="cslineno.html">Line Numbering</A> <BR> <LI> <A HREF="csmetrics.html">Metrics</A> <BR> <LI> <A HREF="csstub.html">Stub Generator</A> <BR> <LI> <A HREF="csdevutil.html">Dev Utilities</A> <BR> <LI> <A HREF="csr-roadmap.html">Roadmap</A> <BR> <LI> <A HREF="csrtodo.html">Requested Features</A> <BR> </UL> <A HREF="csr-releasenotes.html">Release Notes</A> <BR> <A HREF="chrisdown.html"><B>Download</B></A> <BR> <B><A HREF="authors.html">Contributors</A></B> <BR> </TD> <TD WIDTH="35" ALIGN="LEFT" VALIGN="TOP"> <P><A HREF="csr-pushupfield.html"><IMG SRC="left.gif" WIDTH="30" HEIGHT="30" ALIGN="BOTTOM" ALT="Previous Page" BORDER="2"></A> </TD> <TD ALIGN="CENTER"> <H2 ALIGN="CENTER">Software::JRefactory - Push Down Field </TD> <TD WIDTH="35" ALIGN="RIGHT" VALIGN="TOP"> <P ALIGN="RIGHT"><A HREF="csr-renamefield.html"><IMG SRC="right.gif" WIDTH="30" HEIGHT="30" ALIGN="BOTTOM" ALT="Next Page" BORDER="2"></A> </TD> </TR> <TR> <TD COLSPAN="3"> <H4>Push down Field</H4> <P>This refactoring moves a field into one or more child classes. This refactoring leaves the permissions alone.</P> <P>To push down a field, select the field with the right mouse button, select "Field Refactorings", and push down. A list of child classes will be displayed, check each class that should receive a copy of the field.</P> <P><B>Warning:</B> this refactoring is not safe. You might need to push some methods down into the children classes. An alternative would be to create an abstract getter and setter functions, and replace direct field accesses with those.</P> </TD> </TR> <TR> <TD WIDTH="35"><A HREF="csr-pushupfield.html"><IMG SRC="left.gif" WIDTH="30" HEIGHT="30" ALIGN="BOTTOM" ALT="Previous Page" BORDER="2"></A></TD> <TD ALIGN="CENTER"> <P ALIGN="CENTER"><FONT SIZE="2" COLOR="#AAAAAA">Last Modified: October 7, 2003</FONT> </TD> <TD WIDTH="35" ALIGN="RIGHT"> <P ALIGN="RIGHT"><A HREF="csr-renamefield.html"><IMG SRC="right.gif" WIDTH="30" HEIGHT="30" ALIGN="BOTTOM" ALT="Previous Page" BORDER="2"></A> </TD> </TR> </TABLE> </BODY> </HTML>