Inheritance, implementing inheritance, interface inheritance, JAVA Programming

 

Inheritance - is the inclusion of state and behavior of a base class in a derived class so that they are accessible in that derived class. The key benefit of Inheritance is that it gives the formal mechanism for

code reuse. Any shared piece of business logic may be moved from the derived class into the base class as part of refactoring method to improve maintainability of your code by avoiding code duplication. The existing class is called the superclass and the derived class is defined the subclass. Inheritance may also be illustrate as the process whereby one object requires characteristics from one or more other objects the similar way children accepts characteristics from their parents. There are basically two types of inheritances:

 

1. Implementation inheritance: You will extend an application's functionality by reusing functionality in the parent class by extending all or some of the operations already implemented. In Java, you can only add from one superclass. Implementation inheritance promotes reusability but improper use of class inheritance can gives programming nightmares by dividing encapsulation and building future changes a problem. With implementation inheritance, the subclass becomes hardly coupled with the superclass. This will build the design fragile because if you need to change the superclass, you have to know all the details of the subclasses to avoid breaking them. So when using implementation inheritance, make sure that the subclasses relay only on the nature of the superclass, not on the actual implementation.

 

2. Interface inheritance: That is also known as subtyping. Interfaces give a mechanism for specifying a relationship between otherwise unrelated classes, typically by specifying a set of common methods each implementing class must obtain. Interface inheritance provides the design concept of program to interfaces not to implementations. This also reduces implementation dependencies or the coupling between systems. In Java, you will implement any number of interfaces. This is more flexible and reliable than implementation inheritance because it won't restrict you into specific implementations which build subclasses difficult to maintain. So care could be taken not to divide the implementing classes by modifying the interfaces.

 

Posted Date: 7/25/2012 1:04:59 AM | Location : United States







Related Discussions:- Inheritance, implementing inheritance, interface inheritance, Assignment Help, Ask Question on Inheritance, implementing inheritance, interface inheritance, Get Answer, Expert's Help, Inheritance, implementing inheritance, interface inheritance Discussions

Write discussion on Inheritance, implementing inheritance, interface inheritance
Your posts are moderated
Related Questions
Explain the library java.lang.Math ? The Java class library is huge. We will not cover it all presently. In fact, the remaining eight classes will focus mostly on the class lib

Decode the Code Smugglers are becoming very smart day by day. Now they have developed a new technique of sending their messages from one smuggler to another. In their new techn

What is the basic difference among Publish Subscribe model and P2P model? Ans) Publish Subscribe model is typically used in one-to-many situation. It is unreliable but very quic

Defines to keeping all the related members together in an object. Specifying member variables as private may hide the methods and variables. Objects should hide their inner working

Write names of the DoS attack's phases? DoS (Denail of service): DoS attach has in total 3 kinds of phases and below they are listed: 1. Search 2. Arm 3. Attack

The "http protocol" is a stateless response or request based protocol. You may contain the state information between different page requests as given below: HTTP Sessions are

What does TCP/IP stand for? TCP/IP is a Protocol type basically it is known by Transmission Control Protocol/Internet Protocol

A easy expression language used by a JavaServer Faces UI component tag attributes to bind the associated component to a bean property or to bind the associated component's value to

Distributed / Network Oriented Java is network friendly -- both in its portable, threaded nature, and since common networking operations are built-in to the Java libraries.

How can I create a simple Caesar cipher using if-else statements?