From 40d27d5d4038872ca45af68a909d34e5387c050b Mon Sep 17 00:00:00 2001 From: HawleyJean Date: Tue, 4 Apr 2017 13:23:55 -0300 Subject: [PATCH 1/2] Refactoring Step 1 --- .../dal/gravity/AbstractEarthPendulum.java | 23 ------------------- .../java/dal/gravity/AbstractPendulum.java | 4 +++- .../java/dal/gravity/RegularPendulum.java | 4 ++-- src/main/java/dal/gravity/SimplePendulum.java | 4 ++-- 4 files changed, 7 insertions(+), 28 deletions(-) delete mode 100644 src/main/java/dal/gravity/AbstractEarthPendulum.java diff --git a/src/main/java/dal/gravity/AbstractEarthPendulum.java b/src/main/java/dal/gravity/AbstractEarthPendulum.java deleted file mode 100644 index 87b3460..0000000 --- a/src/main/java/dal/gravity/AbstractEarthPendulum.java +++ /dev/null @@ -1,23 +0,0 @@ -package dal.gravity; - - -/** - * Represents a pendulum on the planet Earth - */ -public abstract class AbstractEarthPendulum extends AbstractPendulum { - - /** gravitational constant */ - public static final double GRAVITY = 9.80665; - - /** - * Creates a new Pendulum instance using - * inLength: the string length (>0) - * inMass: the point mass (>0) - * inTheta0: angular displacement at t=0 (0<=theta0) - */ - public AbstractEarthPendulum (double inLength, double inMass, double inTheta0) { - super (inLength, inMass, inTheta0, GRAVITY); - } - -} - diff --git a/src/main/java/dal/gravity/AbstractPendulum.java b/src/main/java/dal/gravity/AbstractPendulum.java index 1b59a5a..23accba 100644 --- a/src/main/java/dal/gravity/AbstractPendulum.java +++ b/src/main/java/dal/gravity/AbstractPendulum.java @@ -6,7 +6,9 @@ public abstract class AbstractPendulum { - /* instance variables - string length, point mass, angular displacement + /** gravitational constant */ + public static final double GRAVITY = 9.80665; + /* instance variables - string length, point mass, angular displacement * at t=0, constant for local gravitational field in m/s^2 (e.g., 9.81 on Earth) */ private double stringLength, pointMass; diff --git a/src/main/java/dal/gravity/RegularPendulum.java b/src/main/java/dal/gravity/RegularPendulum.java index 65b9014..0e9fd55 100644 --- a/src/main/java/dal/gravity/RegularPendulum.java +++ b/src/main/java/dal/gravity/RegularPendulum.java @@ -3,7 +3,7 @@ /** * Represents a pendulum */ -public class RegularPendulum extends AbstractEarthPendulum { +public class RegularPendulum extends AbstractPendulum { private double delta, iterations = 0; private double dissipation; private double lastTheta, lastVel, lastAccel; @@ -13,7 +13,7 @@ public class RegularPendulum extends AbstractEarthPendulum { */ public RegularPendulum (double inLength, double inMass, double inTheta0, double inDelta, double inDiss) { - super (inLength, inMass, inTheta0); + super (inLength, inMass, inTheta0, GRAVITY); delta=inDelta; dissipation = inDiss; lastVel = 0; diff --git a/src/main/java/dal/gravity/SimplePendulum.java b/src/main/java/dal/gravity/SimplePendulum.java index 5c7bf30..11871f7 100644 --- a/src/main/java/dal/gravity/SimplePendulum.java +++ b/src/main/java/dal/gravity/SimplePendulum.java @@ -3,7 +3,7 @@ /** * Represents pendulums exhibiting (approximately) simple harmonic motion */ -public class SimplePendulum extends AbstractEarthPendulum { +public class SimplePendulum extends AbstractPendulum { private double angularFrequency, periodOfMotion; @@ -14,7 +14,7 @@ public class SimplePendulum extends AbstractEarthPendulum { * inTheta0: angular displacement at t=0 (0<=theta0<=pi/6) */ public SimplePendulum (double inLength, double inMass, double inTheta0) { - super (inLength, inMass, inTheta0); + super (inLength, inMass, inTheta0,GRAVITY); angularFrequency = Math.sqrt (this.getGravitationalField () / this.getStringLength ()); periodOfMotion = 2 * Math.PI * Math.sqrt (this.getStringLength () / this.getGravitationalField ()); From 9ce3a9e4d4aaa61f869fdba1dfdcc1f46d1e0aa2 Mon Sep 17 00:00:00 2001 From: HawleyJean Date: Tue, 4 Apr 2017 14:48:03 -0300 Subject: [PATCH 2/2] recfactor step 1 --- src/main/java/dal/gravity/AbstractPendulum.java | 2 +- src/main/java/dal/gravity/PendulumRunner.java | 2 +- src/main/java/dal/gravity/RegularPendulum.java | 2 +- src/main/java/dal/gravity/SimplePendulum.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/dal/gravity/AbstractPendulum.java b/src/main/java/dal/gravity/AbstractPendulum.java index 23accba..2548930 100644 --- a/src/main/java/dal/gravity/AbstractPendulum.java +++ b/src/main/java/dal/gravity/AbstractPendulum.java @@ -5,7 +5,7 @@ */ public abstract class AbstractPendulum { - +//abstract class /** gravitational constant */ public static final double GRAVITY = 9.80665; /* instance variables - string length, point mass, angular displacement diff --git a/src/main/java/dal/gravity/PendulumRunner.java b/src/main/java/dal/gravity/PendulumRunner.java index 2c61033..2a4a6be 100644 --- a/src/main/java/dal/gravity/PendulumRunner.java +++ b/src/main/java/dal/gravity/PendulumRunner.java @@ -7,7 +7,7 @@ * versus the Euler algorithm approximation */ public class PendulumRunner { - +//run the main public static void main (String [] args) { NumberFormat nf = NumberFormat.getInstance (); nf.setMaximumFractionDigits (3); diff --git a/src/main/java/dal/gravity/RegularPendulum.java b/src/main/java/dal/gravity/RegularPendulum.java index 0e9fd55..2ab278e 100644 --- a/src/main/java/dal/gravity/RegularPendulum.java +++ b/src/main/java/dal/gravity/RegularPendulum.java @@ -25,7 +25,7 @@ public RegularPendulum (double inLength, double inMass, double inTheta0, double inDelta) { this (inLength, inMass, inTheta0, inDelta, 0); } - + public void step () { iterations++; lastTheta = lastTheta + lastVel*delta; diff --git a/src/main/java/dal/gravity/SimplePendulum.java b/src/main/java/dal/gravity/SimplePendulum.java index 11871f7..947c6b8 100644 --- a/src/main/java/dal/gravity/SimplePendulum.java +++ b/src/main/java/dal/gravity/SimplePendulum.java @@ -6,7 +6,7 @@ public class SimplePendulum extends AbstractPendulum { private double angularFrequency, periodOfMotion; - +//simple /** * Creates a new Pendulum instance using * inLength: the string length (>0)