Java

OOP GUIDE / WORK

 

POINT CLASS – IMMUTABLE EXERCISE

 

Topics

  • Immutable classes
  • Code analysis

 

 

TASK – CODE ANALYSIS


Analyze each the following versions of the Point class and state if it is an immutable class or not.

 

//A

public class Point

{

     public double x;

     public double y;

}

 

 

//B

public class Point

{

     private double x;

     private double y;

}

 

 

//C

public class Point

{

     private double x;

     private double y;

    

     public void setX(double val)

     {

           x = val;

     }

    

     public void setY(double val)

     {

           y = val;

     }

    

     public double getX()

     {

           return x;

     }

    

     public double getY()

     {

           return y;

     }

}

 

 

//D

public class Point

{

     private double x;

     private double y;

    

     public double getX()

     {

           return x;

     }

    

     public double getY()

     {

           return y;

     }

}

 

 

//E

public class Point

{

     private double x;

     private double y;

    

     public double getX()

     {

           return x;

     }

    

     public double getY()

     {

           return y;

     }

    

     public void translate(double dx, double dy)

     {

           x = x + dx;

           y = y + dy;

     }

}

 

 

 

//F

public class Point

{

     private double x;

     private double y;

    

     public String toString()

     {

           return "(" + x + "," + y + ")";

     }

    

     public double getX()

     {

           return x;

     }

    

     public double getY()

     {

           return y;

     }

}

 

 

//G

public class Point

{

     private double x;

     private double y;

    

     public Point()

     {

           x = Math.random() * 10;

           y = Math.random() * 10;

     }

    

     public double getX()

     {

           return x;

     }

    

     public double getY()

     {

           return y;

     }

}