CSC/ECE 517 Fall 2007/wiki2 10 ab: Difference between revisions
No edit summary |
No edit summary |
||
Line 10: | Line 10: | ||
==What is Delegation== | ==What is Delegation== | ||
Delegation, in the concept of object oriented programming refers to the ability of an object in assigning or delegating the implementation of certain functions to other objects. This concept is also referred to as dynamic inheritance. A good example of the concept of delegation is given here [http://www.javaworld.com/javaworld/javaqa/2001-09/01-qa-0914-delegate.html "Example of Delegation"] | Delegation, in the concept of object oriented programming refers to the ability of an object in assigning or delegating the implementation of certain functions to other objects. This concept is also referred to as dynamic inheritance. A good example of the concept of delegation is given here [http://www.javaworld.com/javaworld/javaqa/2001-09/01-qa-0914-delegate.html "Example of Delegation"] | ||
==Inheritance or Delegation== | |||
==References== | ==References== |
Revision as of 05:56, 23 October 2007
Problem Statement
Inheritance vs. delegation. Follow the debate on inheritance vs. delegation. Construct (or, better, cite) examples that show cases where inheritance is better, and cases where delegation is better. Attempt to characterize the situations in which you should employ one or the other.
What is Inheritance
Inheritance in the concept of Object Oriented Programming is the process by which one object can inherit or acquire the properties of other objects. With the use of inheritance each object which are instances of derived classes can only define the properties which are unique to itself and derive qualities or common attributes from other objects which are instances of base classes To cite this as an example, consider this page "Real life Inheritance Examples". If we consider the first example it can be seen that the base class in this case is a bank account which contains properties like Name, SSNnum, Account No and Balance. The checking and savings account derive these properties by inhering from the BankAccount class and hence these classes do not need to explicitly define these characteristics all over again. The obvious advantages of inheritance is reusability which greatly reduces code repetition .
What is Delegation
Delegation, in the concept of object oriented programming refers to the ability of an object in assigning or delegating the implementation of certain functions to other objects. This concept is also referred to as dynamic inheritance. A good example of the concept of delegation is given here "Example of Delegation"