Say you want to store the information about a number of
pets in an array. Typical
information that you could store for each pet (where
relevant) would be
• Breed of animal
• Animal's name
• Its birth date
• Its sex
• Whether it has been sterilised or not
• When it is due for its next inoculation
• When it last had its wings clipped
For each type of pet (eg. dog, cat or bird) you would
typically define a class to hold
the relevant data.
Note: You do not need to implement these classes. Just
answer the following
questions.
3.1.1 What would be the advantage of creating a superclass
(eg. Pet) and
declaring an array of Pet objects over simply using an
array of Objects,
storing each of the instances of the different pet classes
(eg. Dog, Cat or
Bird) in it?
3.1.2 Would you define Pet as a class or as an interface?
Why?
(2)
(2)
No Answer is Posted For this Question
Be the First to Post Answer
we have two threads..both the threads are reading the data.. is there any need of synchronization there?...justify it?
What are java packages? What is the significance of packages?
what is the full form of java
Matrix multiplication only using OOP concepts .
how to fing linkedlist is circular or not?
What is the difference between JVM and JRE?
Question 5 [15] Consider the following classes, illustrating the Strategy design pattern: import java.awt.*; abstract class Text { protected TextApplet tA; protected Text(TextApplet tApplet) { tA = tApplet; } abstract public void draw(Graphics g); } class PlainText extends Text { protected PlainText(TextApplet tApplet) { super(tApplet); } public void draw(Graphics g) { g.setColor(tA.getColor()); g.setFont(new Font("Sans-serif", Font.PLAIN, 12)); g.drawString(tA.getText(), 20, 20); } } class CodeText extends Text { protected CodeText(TextApplet tApplet) { super(tApplet); } public void draw(Graphics g) { g.setColor(tA.getColor()); g.setFont(new Font("Monospaced", Font.PLAIN, 12)); g.drawString(tA.getText(), 20, 20); } } public class TextApplet extends java.applet.Applet { protected Text text; protected String textVal; protected Color color; public String getText() { return textVal; } public Color getColor() { return color; } public void init() { textVal = getParameter("text"); String textStyle = getParameter("style"); String textColor = getParameter("color"); if (textStyle == "code") text = new CodeText(this); else text = new PlainText(this); if (textColor == "red") color = Color.RED; else if (textColor == "blue") color = Color.BLUE; else color = Color.BLACK; } public void paint(Graphics g) { text.draw(g); 10 } } The Text class is more complicated than it should be (there is too much coupling between the Text and TextApplet classes). By getting rid of the reference to a TextApplet object in the Text class and setting the colour in the paint() method, one could turn the Text class into an interface and simplify the strategy classes considerably. 5.1 Rewrite the Text and PlainText classes to do what is described above. (6) 5.2 Explain the consequent changes that are necessary to the TextApplet class. (4) 5.3 Write an additional strategy class called FancyText (to go with your simplified strategy classes) to allow fancy text to be displayed for the value "fancy" provided for the style parameter. It should use the font Font ("Serif", Font.ITALIC, 12). (3) 5.4 Explain what changes are necessary to the TextApplet class for this. (2)
How to sort double array in java?
When a thread is executing synchronized methods , then is it possible to execute other synchronized methods simultaneously by other threads?
What is the final class?
What is the difference between dom and sax parser in java?
What is the definition of tree ?