why .net does not support multiple inheritance?
Answers were Sorted based on User's Feedback
Answer / satish kumar k
In object-oriented programming languages with multiple
inheritance and knowledge organization, the diamond problem
is an ambiguity that arises when two classes B and C inherit
from A, and class D inherits from both B and C. If a method
in D calls a method defined in A (and does not override the
method), and B and C have overridden that method
differently, then from which class does it inherit: B, or C?
For example, in the context of GUI software development, a
class Button may inherit from both classes Rectangle (for
appearance) and MouseEvent (for functionality), and classes
Rectangle and MouseEvent both inherit from the Object class.
Now if the equals method is called for a Button object and
there is no such method in the Button class but there is an
over-ridden equals method in both Rectangle and MouseEvent,
which method should be eventually called?
| Is This Answer Correct ? | 7 Yes | 1 No |
Answer / satish kumar k
Languages that only allow single inheritance (such as Ada,
Objective-C, PHP, C#, Delphi/Free Pascal and Java) allow the
multiple inheritance of interfaces (called protocols in
Objective-C). Interfaces are essentially abstract base
classes with all abstract methods and no data members. The
problem is therefore avoided since there is always only one
implementation of a specific method or property and no
ambiguity arises
| Is This Answer Correct ? | 3 Yes | 0 No |
What is different between Web User Control and Web Custom Control?
What is the Difference between imperative and interrogative code?
What does cil do?
How does the generational garbage collector in the .net clr manage object lifetime? What is non-deterministic finalization?
Why DLL files are needed. & how They are Created in DOTNET?
When a Static Constructor called in .NET?
What is interface and abstract class in .net?
What are possible implementations of distributed applications in .NET?
What is a serviced component?
what is the default security setting in .net?
What are HTML controls, Web controls, and server controls?
What is marshling?