features of OOPS

Answer Posted / abhijit

Abstraction

Abstraction is a process of identifying the relevant
qualities and behvaiors an object should possess. Lets take
an example to understand abstraction. A Laptop consists of
many things such as processor, motherboard, RAM, keyboard,
LCD screen, wireless antena, web camera, usb ports, battery,
speakers etc. To use it, you don't need to know how
internally LCD screens, keyboard, web camera, battery,
wireless antena, speakers works. You just need to know how
to operate the laptop by switching it on. The intrinsic
details are invisitble. Think about if you would have to
call to the engineer who knows all internal details of the
laptop before operating it. This would have highly expensive
as well as not easy to use everywhere by everyone. So here
the Laptop is an object that is designed to hide its
complexity.

Think If you need to write a piece of software to track the
students details of a school, you may probably need to
create Students objects. People comes in all different
backgrounds, educational qualifications, locations, hobbies,
ages and have multiple religion, language but in terms of
application, an student is just a name, age, class and roll
number, while the other qualities are not relevant to the
application. Determining what other qualities (background,
qualifications, location, hobbiels etc) are in terms of this
application is abstraction.

In object-oriented software, complexity is managed by using
abstraction. Abstraction is a process that involves
identifying the critical behavior of an object and
eliminating irrelevant and complex detilals. A well
thought-out abstraction is usually simple, and easy to use
in the perspective of the user, the person who is using your
object.

Encapsulation

Encapsulation is a method for protecting data from unwanted
access or alteration by packaging it in an object where it
is only accessible through the object's interface.
Encapsulation are often referred to as information hiding.
But both are different. Infact information hiding is
actually the result of Encapsulation. Encapsulation makes it
possible to separate an object's implementation from its
orgiinal behavior - to restrict access of its internal data.
This restriction facilitate certains detiails of an object;s
behavior to be hidden. This allows to protect an object's
interal state from corruption by its user.

It is the mechanism by which Abstraction is implemented. In
other words you can say that it is the result of the
Encapsulation. For example, the Laptop is an object that
encapsulates many technologies/hardwares that might not be
understood clearly by most people who use it.
Inheritence

Inheritecne is the ability to define a new class or object
that inherits the behavior and its functionality of an
existing class. The new class or obejct is called a child or
subclass or derived class whie the original class is called
parent or base class. For example, in a software company
Software Engineers, Sr. Software Engineers, Module Lead,
Technical Lead, Project Lead, Project Manger, Program
Manger, Directors all are the employees of the the compnay
but their work, perks, roles, responsiblitues differs. So in
OOP, the Employee base class would provide the common
behaviours of all types/level of of employee and also some
behaviors properties that all employee must have for that
company. The particular sub class or child class of the
employee would impelement behaviors specific to that level
of the employee. So by above example you can notice that the
main concept behind inhertience are extensibility and code
reuse (in this case you are extending the Employee class and
using its code into sub class or derived class).
Polymorphism

As name suggests, Polymorphism means an ability to assume
different forms at different places. In OOP, it is a
language's ability to handle objects differently based on
their runtime type and use. Polymorphism is briefly
described as "one interface, many
implementations".Ppolymorphism is a characteristic of being
able to assign a different meaning or usage to something in
different contexts - specifically, to allow an entity such
as a variable, a function, or an object to have more than
one form.

There are two types of polymorphism.

1. Compile time polymorphism - It is achieved by
overloading functions and operators
2. Run time polymorphism - It is achieved by overriding
virtual functions

Lets say you have a class that have many Load methods having
different parameters, this is called Compile time
polymorphism. Lets take another example where you have a
virtual method in the base class called Load with one
parameter and you have redefined its functioanlity in your
sub class by overriding base class Load method, this is
called Run time polymorphism.

Is This Answer Correct ?    15 Yes 2 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Why is destructor used?

569


Why do we use oops?

575


What is inheritance in oop?

589


How to improve object oriented design skills?

558


How many human genes are polymorphic?

558






What is multilevel inheritance?

711


What is coupling in oops?

582


What are the important components of cohesion?

542


#include #include #include #include void select(char *items, int count); int main(void) { char s[255]; printf("Enter a string:"); gets(s); select(s, strlen(s)); printf("The sorted string is: %s.\n", s); getch(); return 0; } void select(char *items, int count) { register int a, b, c; int exchange; char t; for(a = 0; a < count-1; ++a) { exchange = 0; c = a; t = items[ a ]; for(b = a + 1; b < count; ++b) { if(items[ b ] < t) { c = b; t = items[ b ]; exchange = 1; } } if(exchange) { items[ c ] = items[ a ]; items[ a ] = t; } } } design an algorithm for Selection Sort

2051


What language is oop?

581


What is class encapsulation?

576


What is encapsulation and abstraction? How are they implemented in C++?

622


class CTest { public: void someMethod() { int nCount = 0; cout << "This is some method --> " << nCount; } }; int main() { CTest *pctest; pctest->someMethod(); return 0; } It will executes the someMethod() and displays the value too. how is it possible with our creating memory for the class . i think iam not creating object for the class. Thanks in Advance... Prakash

1683


Can we have inheritance without polymorphism?

598


What is the renewal class?

2151