Object-Oriented Programming with Java (a) Give three differences between an interface and an abstract class in Java. [3 marks] (b) A novice programmer writes the following code in order to

Object-Oriented Programming with Java (a) Give three differences between an interface and an abstract class in Java. [3 marks] (b) A novice programmer writes the following code in order to be able to completely clone an object of type Car. public class Tyre { private int treadRemaining; public void SetTread(int t) { treadRemaining=t; } public int GetTread() { return treadRemaining; } } public class Car extends Vehicle implements Cloneable { private Tyre tyres[] = new Tyre[4]; public Car() { for (int i=0; i<4; i++) tyres[i] = new Tyre(); } public Object clone() throws CloneNotSupportedException { Car c = new Car(); c.tyres = this.tyres; return c; } } (i) Explain what it means for the treadRemaining field to be private. Explain why it is good programming practice for such fields to be private. [3 marks] (ii) Identify the type of interface that Cloneable is. is the defining characteristic of such interfaces? [2 marks] (iii) Identify and explain two reasons why this code may not function as intended. [4 marks]

Need your ASSIGNMENT done? Use our paper writing service to score better and meet your deadline.


Click Here to Make an Order Click Here to Hire a Writer