Object-Oriented Programming with Java? (a) Give three differences between an interface and an ab
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. What 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]
(iv) Rewrite the code to address the problems you have identified and allow Car objects to be fully cloned. [8 marks] 1
Collepals.com Plagiarism Free Papers
Are you looking for custom essay writing service or even dissertation writing services? Just request for our write my paper service, and we'll match you with the best essay writer in your subject! With an exceptional team of professional academic experts in a wide range of subjects, we can guarantee you an unrivaled quality of custom-written papers.
Get ZERO PLAGIARISM, HUMAN WRITTEN ESSAYS
Why Hire Collepals.com writers to do your paper?
Quality- We are experienced and have access to ample research materials.
We write plagiarism Free Content
Confidential- We never share or sell your personal information to third parties.
Support-Chat with us today! We are always waiting to answer all your questions.
