what are the oops concept in java explain with real time
examples
Answers were Sorted based on User's Feedback
Answer / chandramouli
OOPS Concepts are mainly 4
1.Abstraction
2.Encapsulation
3.Inheritance
4.Polymorphisam
Abstraction:-Hidding non-essential features and showing the
essential features
(or)
Hidding unnecessary data from the users details,is called
abstraction.
Real Time example:TV Remote Button
in that number format and power buttons and other buttons
there.just we are seeing the butttons,we don't see the
button circuits.i.e buttons circutes and wirings all are
hidden.so i think its good example.
Encapsulation:
Writing Operations and methods stored in a single
class.This is Called Encapsulation
Real Time Example:Medical Capsuals
i.e one drug is stored in buttom layer and another drug is
stored in Upper layer these two layers are combined in
single capsual.
Inheritance:
The New Class is Existing from Old Class,i.e SubClass is
Existing from Super Class.
Real Time Example:
Father and Son Relationship
Polymorphisam:
Sinle Form behaving diffreantly in diffreant
Situations.
Example:-
Person
Person in Home act is husband/son,
in Office acts Employer.
in Public Good Cityzen.
I think these all are real time experianceany.is there any
more answers send me my mail also.
Thanks all
CM
| Is This Answer Correct ? | 1225 Yes | 68 No |
Answer / raja
Encapsulation
Abstraction
polymorphisms
inheritance/delegation
| Is This Answer Correct ? | 588 Yes | 111 No |
Answer / ramya
1)Abstraction:
Abstraction is a way to remove the association of the
behavior of an object with the actual details behind the
scenes which implement that object's behavior. This
'abstraction' is usually accomplished through the use of
base classes with virtual functions; each derived function
provides the details that implement the behavior behind that
abstraction.
eg/we invented flight based on the mechanism of Birds. So
flight is derived form the base of birds.
2)Encapsulation:
It is a process of binding or wrapping the data and the
codes that operates on the data into a single entity. This
keeps the data safe from outside interface and misuse. One
way to think about encapsulation is as a protective wrapper
that prevents code and data from being arbitrarily accessed
by other code defined outside the wrapper.
eg/ Ink is the important component in pen but it is hiding
by some other material
3)Polymorphism:
a single function or single operator has different character
in different place.
eg/A girl plays a role of daughter at home and a manager at
office
4)Inheritance:
The new classes, known as derived classes, take over (or
inherit) attribute and behavior of the pre-existing classes,
which are referred to as base classes (or Parent classes).
It is intended to help reuse existing code with little or no
modification.
eg/ parent-child relation
| Is This Answer Correct ? | 190 Yes | 63 No |
Answer / devendra.m
OOPS Concepts are mainly 4
1.Abstraction
2.Encapsulation
3.Inheritance
4.Polymorphisam
Abstraction:-Hidding non-essential features and showing the
essential features
(or)
Hidding unnecessary data from the users details,is called
abstraction.
Real Time example:TV Remote Button
in that number format and power buttons and other buttons
there.just we are seeing the butttons,we don't see the
button circuits.i.e buttons circutes and wirings all are
hidden.so i think its good example.
Encapsulation:
Writing Operations and methods stored in a single
class.This is Called Encapsulation
Real Time Example:Medical Capsuals
i.e one drug is stored in buttom layer and another drug is
stored in Upper layer these two layers are combined in
single capsual.
Inheritance:
The New Class is Existing from Old Class,i.e SubClass is
Existing from Super Class.
Real Time Example:
Father and Son Relationship
Polymorphisam:
Sinle Form behaving diffreantly in diffreant
Situations.
Example:-
Person
Person in Home act is husband/son,
in Office acts Employer.
in Public Good Cityzen.
I think these all are real time experianceany.is there any
more answers send me my mail mdevendra@gmail.com also.
Thanks all
Devendra.M
| Is This Answer Correct ? | 131 Yes | 28 No |
Answer / murali krishna thanneeru
We have the following oops concepts like
1.Abtsrction
2.Encapsulation
3.Inheritance
4.Polymorphism
Abstraction:
hiding unnecessary data from the users and making the
application as user friendly then it is called as abstrcation
ex:Any mail account the user is simply filling the form and
he don't know ho it is developed.
Encapsulation:
Wrapping the data and code as a single unit is called as
encapsulation.
ex:Capsule is the best real time example for it.In it we
will have two types of drugs combined as single capsule.
Inheritance :
Acquiring the properties from one class(base class or parent
class)to another class(derived class or child class)is
called as inheritance.
Ex:Inventing laptop from desktop.
Polymorphism:
Single entity behaving in different forms is called as
polymorphism
ex:Mouse is for click the buttons and dragging the bars or
placing the pointer in a particular place.
| Is This Answer Correct ? | 69 Yes | 14 No |
Answer / praveena
OOPS Concepts are mainly 4
1.Abstraction
2.Encapsulation
3.Inheritance
4.Polymorphisam
Abstraction:Hiding unneccessary data from user is called
Abstraction access specifiers like public,private etc are
used to provide different level in abstraction.
Encapsulation:Taking data and object in a single unity is
called Encapsulation.A class is example for Encapsulation.
Inheritance:creating anew class from existing class is
called Inheritance.reusability is main advantage in
inheritance.
polymorphism:if single mthod performs different task is
called polymorphism.
| Is This Answer Correct ? | 89 Yes | 35 No |
Answer / l.priya
We have the following oops concepts like
1.Abtsrction
2.Encapsulation
3.Inheritance
4.Polymorphism
Abstraction:
hiding unnecessary data from the users and making the
application as user friendly then it is called as
abstrcation
ex:Any mail account the user is simply filling the form and
he don't know ho it is developed.
Encapsulation:
Wrapping the data and code as a single unit is called as
encapsulation.
ex:Capsule is the best real time example for it.In it we
will have two types of drugs combined as single capsule.
Inheritance :
Acquiring the properties from one class(base class or parent
class)to another class(derived class or child class)is
called as inheritance.
Ex:Inventing laptop from desktop.
Polymorphism:
Single entity behaving in different forms is called as
polymorphism
ex:Mouse is for click the buttons and dragging the bars or
placing the pointer in a particular place.
| Is This Answer Correct ? | 57 Yes | 12 No |
Answer / niventh mca
1,class
2,encapsulation
3,polymorphism
4,inheritance
5,Abstraction
class
collection of attributes is called class
Real time example......human body
encapsulation
To encapsulate the some methods,operations in one
class is called the encapsulation
Real time example...... capsules
polymorphism
To ability to take more than one form
Real time example...... xerox machine
inheritance
one class properties occur from another class properties
Real time example......land line...will phone....cellphone
2g....3g....
| Is This Answer Correct ? | 76 Yes | 34 No |
Answer / bhaskara reddy akepati
Abstraction:
Hiding unnecessary things and showing the essential
information.
Example: Suppose take a car: In that we will have breaks
and stering and etc... Here when we are changing the gear
box to up or bottom then gears will work but we don't know
how they are managing internally and we don't no how it is
working. As a driver we don't need to know how it is
working internally when we are changing every time. That is
the reason they will hide the wires and cables internally
and they will show up only gear box to us.
Advantages: 1) Code will be clean and for managing it will
be very easy
Inheritance:
Acquiring the properties from super class to
subclass.
Example: Suppose take two java classes
Class A contains 2 variables and ClassB Extends Class A
that means here ClassB can access the classA variables
without declaring it. If we do this then the memory will be
less and reusable.
Advantages: 1)Reusability of code
Encapsulation: Wrapping up of data and methods into a
single unit.
Example: In our class we need to make all our varables and
methods keeping together.
Advantage: Maintance will be good
Polymorphism: It means many forms.
2 types:
1) Compile time polymorphism
2) Run time polymorphism
Method overloading is an example for Compile time
polymorphism and
Method overriding is an example for Run time polymorphism
| Is This Answer Correct ? | 24 Yes | 7 No |
Answer / m arunachalam
OOPS COncepts Are:
Mainly these are the concepts are very important in oops:
Abstraction
Encapsulation
Inheritance
Polymorphism.
Birds Vs Abstractions
Birds: we invented flight based on the mechanism of Birds.
So flight is derived form the base of birds.
Abstraction: Abstraction is a way to remove the association
of the behavior of an object with the actual details behind
the scenes which implement that object's behavior. This
'abstraction' is usually accomplished through the use of
base classes with virtual functions; each derived function
provides the details that implement the behavior behind that
abstraction.
Pen Vs Encapsulation
Pen: Ink is the important component in pen but it is hiding
by some other material
Encapsulation: is a process of binding or wrapping the data
and the codes that operates on the data into a single
entity. This keeps the data safe from outside interface and
misuse. One way to think about encapsulation is as a
protective wrapper that prevents code and data from being
arbitrarily accessed by other code defined outside the wrapper.
Crocodile Vs Polymorphism
Crocodile: live indifferently on land or in the water. In
water it’s Moment very fast compare to land. An animal lives
in different character in different place.
Polymorphism: a single function or single operator has
different character in different place.
Inheritance Vs Human Relationship
Human Relationship: GrandFather-Father-Son
Inheritance:A derived from existing one to new one is known
as Inheritance.
| Is This Answer Correct ? | 12 Yes | 2 No |
I want to control database connections in my program and want that only one thread should be able to make database connection at a time. How can I implement this logic?
question on Thread synchronization
What are functions in java?
Can java hashmap have duplicate keys?
Question 1 [8] Draw a UML class diagram for the code fragment given below: public class StringApplet extends Applet { private Label sampleString; private Button showTheString; private ButtonHandler bHandler; private FlowLayout layout; public StringApplet() { sampleString = new Label(" "); showTheString = new Button (" Show the String"); bHandler = new ButtonHandler(); layout = new FlowLayout(); showTheString.addActionListener(bHandler); setLayout(layout); add(sampleString); add(showTheString); } class ButtonHandler implements ActionListener { public void actionPerformed(ActionEvent e) { samplestring.setText("Good Morning"); } } } Note: The methods need not be indicated on the diagram. 6 Question 2 [10] The following program reads data (details of students) from a file named students.txt and converts it into e-mail addresses. The results are written to a file named studentemail.txt. students.txt consists of a number of lines, each containing the data of a student in colon delimited format: Last Name:First Name:Student Number Each input record is converted to an e-mail address and written to studentemail.txt in the following format: the first character of the last name + the first character of the first name + the last four digits of the student number + “@myunisa.ac.za” import java.io.*; public class EmailConverter { public static void main(String[] args) throws IOException { BufferedReader input = new BufferedReader(new FileReader ("students.txt")); PrintWriter output = new PrintWriter(new FileWriter ("studentemail.txt")); String line = input.readLine(); while (line != null) { // Extract the information for each student String[] items = line.split(":"); // Generate the email address String email = "" + items[0].charAt(0) + items[1].charAt(0) + items[2].substring(4,8) + "@myunisa.ac.za"; email = email.toLowerCase(); // Output output.println(email); line = input.readLine(); } input.close(); output.close(); } } Rewrite the class so that it handles possible errors that may occur. In particular, it should do the following: • It should catch at least three appropriate exceptions that might occur, and display suitable messages. • At this stage, the program will not run correctly if there is an empty line in the input file. Change the program so that if an empty line is encountered, an exception is thrown and the empty line is ignored. This exception should be handled with the display of a suitable error message. • Before the e-mail address is added to the output file, check if the student number has 8 digits. If not, throw an InvalidFormatException (which the program should not handle itself). COS2144/102 7 Question 3 [12] 3.1 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) 3.2 Consider the following class: public class Point { protected int x, y; public Point(int xx, int yy) { x = xx; y = yy; } public Point() { this(0, 0); } public int getx() { return x; } public int gety() { return y; } public String toString() { return "("+x+", "+y+")"; } } Say you wanted to define a rectangle class that stored its top left corner and its height and width as fields. 3.2.1 Why would it be wrong to make Rectangle inherit from Point (where in fact it would inherit the x and y coordinates for its top left corner and you could just add the height and width as additional fields)? (1) 8 Now consider the following skeleton of the Rectangle class: public class Rectangle { private Point topLeft; private int height, width; public Rectangle(Point tl, int h, int w) { topLeft = tl; height = h; width = w; } public Rectangle() { this(new Point(), 0, 0); } // methods come here } 3.2.2 Explain the no-argument constructor of the Rectangle class given above. 3.2.3 Write methods for the Rectangle class to do the following: • a toString() method that returns a string of the format "top left = (x, y); height = h; width = w " where x, y, h and w are the appropriate integer values. • an above() method that tests whether one rectangle is completely above another (i.e. all y values of the one rectangle are greater than all y values of the other). For example, with the following declarations Rectangle r1 = new Rectangle(); Rectangle r2 = new Rectangle(new Point(2,2), 1, 4); the expression r2.above(r1) should give true, and r2.above (r2) should give false. (You can assume that the height of a rectangle is never negative.) (2) (5) Question 4 [8] 4.1 Supply contracts (in the form of comments specifying pre- and post conditions) for the enqueue() method of the LinkedQueue class given in the Appendix. (2) 4.2 Let Thing be a class which is capable of cloning objects, and consider the code fragment: Thing thing1 = new Thing(); //(1) Thing thing2 = thing1; //(2) Thing thing3 = (Thing) thing1.clone(); //(3) Explain how the objects thing2 and thing3 differ from each other after execution of the statements. (4) COS2144/102 9 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) Question 6 [9] 6.1 In what situations (in general) would you use a TreeMap? (3) 6.2 In what situations (in general) would you use a HashSet to store a collection of values? (3) 6.3 Name three software design patterns (besides the Strategy pattern) that are covered in the syllabus of COS2144. (3) Question 7 [8] Consider the following class and answer the questions below it: public class StackWithGuard extends Stack { public StackWithGuard(int size) { super(size); } synchronized public boolean isEmpty() { return super.isEmpty(); } synchronized public boolean isFull() { return super.isFull(); } synchronized public int getSize() { return super.getSize(); } synchronized public void push(Object obj) { try { while (isFull()) { wait(); } } catch (InterruptedException e) {} super.push(obj); COS2144/102 11 notify(); } synchronized public Object pop() { try { while (isEmpty()) { wait(); } } catch (InterruptedException e) {} Object result = super.pop(); notify(); return result; } public static void main(String args[]) { StackWithGuard stack = new StackWithGuard(5); new Producer(stack, 15).start(); new Consumer(stack, 15).start(); } } Note: The Stack class is provided in the Appendix. Note also: The following questions all refer to the pop() method of the StackWithGuard class given above. 7.1 What does the synchronized keyword ensure for this method? (2) 7.2 Why is a while loop used to test whether the stack is empty? In other words, why wouldn't the following if statement be sufficient? if (isEmpty()) { wait(); } (2) 7.3 Why is the result of popping (provided by the inherited pop() method) stored in a temporary variable? In other words, why wouldn't the following statement be sufficient? return super.pop(); (2) 7.4 Why is the while loop placed in a try-catch structure? (2) Appendix The LinkedQueue class: public class LinkedQueue implements Queue { private Node first, last; private int count; public LinkedQueue() { first = last = null; count =0; } public int size() { return count; } public boolean isEmpty() { return (count == 0); 12 } public void enqueue(Object o) { Node node = new Node(); node.element = o; node.next = null; node.prev = last; if (last != null){ last.next = node; } else { last = first = node; } last = node; count++; } public void dequeue() { if ((first!= null) & (first.next!=null)) { first = first.next; first.prev = null; count--; } else { first = last = null; count--; } } public Object front() { return first; } } class Node { Object element; Node next, prev; } The Stack class: public class Stack { protected Object rep[]; protected int top = -1; protected int size = 0; protected int count = 0; public Stack(int size) { if (size > 0) { this.size = size; rep = new Object[size]; } } public boolean isFull() { return (count == size); } public boolean isEmpty() { return (count == 0); } public int getSize() { return size; } public void push(Object e) { if (e != null && !isFull()) { COS2144/102 13 top++; rep[top] = e; count ++; } } public Object pop() { Object result = null; if (!isEmpty()) { result = rep[top]; top--; count--; } return result; } }
What is multithreading and its advantages?
explain about method overloading and method overriding with difficult examples
Is java 1.7 the same as java 7?
How to sort an array in java without using sort method?
How do you add an arraylist to an array in java?
when a request is generated from apache tomcat 5.5 and goes to oracle 10g or mysql,,, how the oracle or mysql reads the request as apache is a web server and oracle 10g is application server? when the oracle 10g provides response, how the apche tomcat reads it???
What do you understand by overloading and overriding in java?