Answer Posted / arun
First you need to understand the concept of Pointer.
Pointer in C++, gives as reference to object from outside.
if we provide same thing in java, the concept of
Encapsulation will be violate. so java doesn't provide this
feature till 6.0 version. Recently Java added this feature
in java7.0. but they gave different name Clouser, which
give you pointer to function, as Callback in C...
| Is This Answer Correct ? | 15 Yes | 5 No |
Post New Answer View All Answers
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)
What is variable and rules of variable?
What is a "pure virtual" member function?
What is meant by null and void?
what is collatration?
What are the advantages of arraylist over arrays?
What are the important features of Java 10 release?
Why arraylist is used in java?
What do you mean by constructor?
What is exception handling in java?
What are the data types supported by java?
What are keywords and reserved words in java?
What is the purpose of garbage collection in java?
What is ternary operator? Give an example.
How many ways can you break a singleton class in java?