Tell me the scenario,Where we can use interfaces or
Abstract class.And What is the difference between
interfaces and abstract class?
Answers were Sorted based on User's Feedback
In relation to C# (not C++):
1. Interfaces are like abstract class where all member
functions as abstract but cannot have any data members,
constructors or destructors. Classes using interfaces are
forced to implement all the methods in the interface.
2. Does not implement any methods. ie only used as a
template for derived classes to use.
3. All members of interface are public. ie in Interface you
only have to state long Function(); but in a class you have
to state public abstract long Function();
4. A class can have multiple inheritence with an interface
but not a class.
5. Also structures in C# cannot inherit from other classes
of structures but can implement an interface allowing you
to implement more features to your class.
By using interfaces you are not making any assumptions
about the functionality. You want to make sure your classes
using the interfaces implement the functionality of all the
methods in your Interface.
With all above in mind you can probably find more uses for
an interface.
One example: You have many forms of communication like
FileIO or database or IPC. All these forms of communication
will need to features like Open and Close either a file or
a connection Read or write etc. You would then define an
interface with these features for your concrete classes.
You can then use the Interface as a base class pointer like
in C++ to access the derived class's functions.
| Is This Answer Correct ? | 10 Yes | 4 No |
Answer / bhavani
The whole reason you have a special Interface type-category
in addition to abstract base classes in C#/Java is because
C#/Java do not support multiple inheritance.
C++ supports multiple inheritance, and so a special type
isn't needed. An abstract base class with no non-abstract
methods is functionally equivalent to a C#/Java interface.
| Is This Answer Correct ? | 3 Yes | 2 No |
Answer / vishal
Abstract Class encapsulates shared(common) behavior and
define place holder for all subclasses
- Define shared behavior
- Can have implementation code
- Can not be instantiated
- A class can be inherited from single abstract
class—Unless language supports Multiple inheritance.
- Provide both abstract and concrete menthods
- Strict IS-A relationship.
Interface: If there is no shared behavior –each subclass
must implement all method defines in a base class this is
called as Interface
- Defines Behavior. It is a cntract and its subclass
must implement it.
- Can not be instantiated
- A class can implemet mutiple interfaces
- Provide only abstract methods
- Not a strict IS-A relationship
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / aaa
there is not interface and abstrcat keyword in C++.
but in CLR and Java
| Is This Answer Correct ? | 6 Yes | 15 No |
Answer / seshu
abstract class contains function prototypes and function
definations also
but interface ccontains onlu function prototypes which are
used in deriving object declarations
| Is This Answer Correct ? | 8 Yes | 18 No |
string is a class or data type in java?
What is the diamond problem in inheritance?
why reinterpret cast is considered dangerous?
What is virtual Function.
What is the example of polymorphism?
design a c++ class for the chess board,provide a c++ class definition for such class(only class definition is required)
String = "C++ is an object oriented programming language.An imp feature of oops is classes and objects".Write a pgm to count the repeated words from this scenario?
WAP find square root of any number (without using sqrt() )?
ambiguity regulation of multiple inheritance with example.
what is single inheritance?
This program numbers the lines found in a text file. Write a program that reads text from a file and outputs each line preceded by a line number. Print the line number right-adjusted in a field of 3 spaces. Follow the line number with a colon, then one space, then the text of the line. You should get a character at a time and write code to ignore leading blanks on each line. You may assume that the lines are short enough to fit within a line on the screen. Otherwise, allow default printer or screen output behavior if the line is too long (i.e., wrap or truncate). A somewhat harder version determines the number of spaces needed in the field for the line numbers by counting lines before processing the lines of the file. This version of the program should insert a new line after the last complete word that will fit within a 72-character line.
Difference between new operator and operator new