INHERITANCE IN JAVA.

Slides:



Advertisements
Similar presentations
Final and Abstract Classes
Advertisements

Inheritance. Many objects have a hierarchical relationship –Examples: zoo, car/vehicle, card game, airline reservation system Inheritance allows software.
Chapter 1 Inheritance University Of Ha’il.
INHERITANCE BASICS Reusability is achieved by INHERITANCE
METHOD OVERRIDING 1.Sub class can override the methods defined by the super class. 2.Overridden Methods in the sub classes should have same name, same.
OOP: Inheritance By: Lamiaa Said.
Objectives Introduction to Inheritance and Composition (Subclasses and SuperClasses) Overriding (and extending), and inheriting methods and constructors.
Inheritance. In this chapter, we will cover: The concept of inheritance Extending classes Overriding superclass methods Working with superclasses that.
OOP in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
1 Chapter 6 Inheritance, Interfaces, and Abstract Classes.
Inheritance and Polymorphism Recitation – 10/(16,17)/2008 CS 180 Department of Computer Science, Purdue University.
CS 2511 Fall  Abstraction Abstract class Interfaces  Encapsulation Access Specifiers Data Hiding  Inheritance  Polymorphism.
OOP in Java Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Introduction to Object Oriented Programming. Object Oriented Programming Technique used to develop programs revolving around the real world entities In.
Programming in Java Unit 2. Class and variable declaration A class is best thought of as a template from which objects are created. You can create many.
Specialization and Inheritance Chapter 8. 8 Specialization Specialized classes inherit the properties and methods of the parent or base class. A dog is.
Inheritance. Introduction Inheritance is one of the cornerstones of object-oriented programming because it allows the creation of hierarchical classifications.
Inheritance Chapter 10 Programs built from objects/instances of classes An O.O. approach – build on earlier work. Use classes in library and ones you have.
Programming With Java ICS201 University Of Ha’il1 Chapter 7 Inheritance.
Chapter 10: Introduction to Inheritance. Objectives Learn about the concept of inheritance Extend classes Override superclass methods Call constructors.
Application development with Java Lecture 21. Inheritance Subclasses Overriding Object class.
Java Programming Final Keyword In Java. final keyword The final keyword in java is used to restrict the user. The final keyword can be used in many context.
Inheritance Inheritance is the process of extending the functionality of a class by defining a new class that inherit,all the features of extending class.
Classes, Interfaces and Packages
Access Specifier. Anything declared public can be accessed from anywhere. Anything declared private cannot be seen outside of its class. When a member.
CSI 3125, Preliminaries, page 1 Inheritance. CSI 3125, Preliminaries, page 2 Inheritance Using inheritance, can create a general class that defines traits.
Terms and Rules II Professor Evan Korth New York University (All rights reserved)
POLYMORPHISM Chapter 6. Chapter Polymorphism  Polymorphism concept  Abstract classes and methods  Method overriding  Concrete sub classes and.
OOP Basics Classes & Methods (c) IDMS/SQL News
Java Programming: Guided Learning with Early Objects Chapter 9 Inheritance and Polymorphism.
Java Programming Fifth Edition Chapter 9 Introduction to Inheritance.
OOPM. Java Array Array is a collection of similar type of elements that have contiguous memory location. Java array is an object the contains elements.
Modern Programming Tools And Techniques-I
Topic: Classes and Objects
Programming in Java, 2e Sachin Malhotra Saurabh Choudhary.
Inheritance in Java Inheritance in java is a mechanism in which one object acquires all the properties and behaviors of parent object. The idea behind.
Inheritance-Basics.
Final and Abstract Classes
Polymorphism, Abstract Classes & Interfaces
Inheritance and Polymorphism
Inheritance in Java.
Review Session.
Week 8 Lecture -3 Inheritance and Polymorphism
Programming in Java Text Books :
Modern Programming Tools And Techniques-I Inheritance
OOP’S Concepts in C#.Net
Inheritance Visit for more Learning Resources.
Inheritance Chapter 5.
Interface.
OBJECT ORIENTED PROGRAMMING II LECTURE 8 GEORGE KOUTSOGIANNAKIS
Java Programming Language
Chapter 9: Polymorphism and Inheritance
Sampath Kumar S Assistant Professor, SECE
Interfaces.
Polymorphism, Abstract Classes & Interfaces
METHOD OVERRIDING in JAVA
S.VIGNESH Assistant Professor, SECE
Java – Inheritance.
Inheritance Inheritance is a fundamental Object Oriented concept
Method Overriding in Java
Java Programming, Second Edition
Sampath Kumar S Assistant Professor, SECE
Inheritance.
Inheritance and Polymorphism
Chapter 11 Inheritance and Polymorphism Part 1
Final and Abstract Classes
Topics OOP Review Inheritance Review Abstract Classes
CS 240 – Advanced Programming Concepts
INTERFACES Explained By: Sarbjit Kaur. Lecturer, Department of Computer Application, PGG.C.G., Sector: 42, Chandigarh.
Inheritance and Polymorphism
Presentation transcript:

INHERITANCE IN JAVA

Inheritance in Java Mechanism of deriving new class from old class. The old class is known as- Base Class / Super class / Parent Class The new class is known as- Derived class/ Sub Class / Child class Types: Single Inheritance Multilevel Inheritance Multiple inheritance Hierarchical Inheritance

Inheritance In Java A B Single inheritance - When a class extends another one class only then we call it a single inheritance. The below flow diagram shows that class B extends only one class which is A. Here A is a parent class of B and B would be  a child class of A. A B

Single Inheritance example program in Java Class A { public void methodA() System.out.println("Base class method"); } Class B extends A public void methodB() System.out.println("Child class method"); public static void main(String args[]) B obj = new B(); obj.methodA(); //calling super class method obj.methodB(); //calling local method

Sub Class Constructor A subclass constructor is used to construct the instance variables of both the subclass and the superclass. The subclass constructor uses the keyword super to invoke the constructor method of superclass. The super Keyword is used with following Conditions super may only be used within a subclass constructor. The call to super must appear as first statement. Parameters in the super call must match with declaration in superclass

class Vehicle {      Vehicle() { System.out.println("Vehicle is created"); }   class Bike extends Vehicle{      Bike()     super();//will invoke parent class constructor       System.out.println("Bike is created");      }   public static void main(String args[]){       Bike b=new Bike(); 

“Multiple Inheritance” “Multiple Inheritance” refers to the concept of one class extending (Or inherits) more than one base class. The problem with “multiple inheritance” is that the derived class will have to manage the dependency on two base classes. A B C

Multilevel Inheritance Multilevel inheritance refers to a mechanism in OO technology where one can inherit from a derived class, thereby making this derived class the base class for the new class. As you can see in below flow diagram C is subclass or child class of B and B is a child class of A. A B C

Class X { public void methodX() System. out Class X { public void methodX() System.out.println("Class X method"); } Class Y extends X public void methodY() System.out.println("class Y method"); Class Z extends Y public void methodZ() System.out.println("class Z method"); public static void main(String args[]) Z obj = new Z(); obj.methodX(); //calling grand parent class method obj.methodY(); //calling parent class method obj.methodZ(); //calling local method

Hierarchical Inheritance In such kind of inheritance one class is inherited by many sub classes. In below example class B,C and D inherits the same class A. A is parent class (or base class) of B,C & D. A B C D

Class A { public void methodA() System.out.println("method of Class A"); } Class B extends A public void methodB() System.out.println("method of Class B"); Class C extends A public void methodC() System.out.println("method of Class C");

Class D extends A { public void methodD() System.out.println("method of Class D"); } Class MyClass public static void main(String args[]) B obj1 = new B(); C obj2 = new C(); D obj3 = new D(); obj1.methodA(); obj2.methodA(); obj3.methodA(); }} `

Overriding Methods If subclass (child class) has the same method as declared in the parent class, it is known as method overriding. In other words, If subclass provides the specific implementation of the method that has been provided by one of its parent class, it is known as Method Overriding. Advantage of Java Method Overriding provide specific implementation of a method that is already provided by its super class. Rules for Method Overriding method must have same name as in the parent class method must have same parameter as in the parent class. must be IS-A relationship (inheritance).

Example class Vehicle { void run() { {   void run() { System.out.println("Vehicle is running"); }   class Bike extends Vehicle System.out.println("Bike is running safely"); public static void main(String args[]) Bike obj = new Bike();   obj.run();   }  }

int getRateOfInterest() {return 0;} } class SBI extends Bank{ class Bank{   int getRateOfInterest() {return 0;}   }      class SBI extends Bank{   {return 8;}   class ICICI extends Bank{   {return 7;}   class Test{   public static void main(String args[]){   SBI s=new SBI();   ICICI i=new ICICI();   System.out.println("SBI Rate of Interest: "+s.getRateOfInterest());   System.out.println("ICICI Rate of Interest: "+i.getRateOfInterest()); 

Method Overloading Method Overriding 1) Method overloading is used to increase the readability of the program. Method overriding is used to provide the specific implementation of the method that is already provided by its super class. 2) method overloading is performed within a class. Method overriding occurs in two classes that have IS-A relationship. 3) In case of method overloading parameter must be different. In case of method overriding parameter must be same.

Final variables and Methods All methods and variables can be overridden by default in subclasses. To prevent the subclasses from overriding the members of the superclass, declare them as final using final keyword. final int SIZE=10; final void showstatus(..) {…} Defining method final ensures that functionality of defined method will not be altered. Similarly the value of final variable never be changed.

Final Classes A class that can not be sub-classed is called final class. final class Aclass { … } final class Bclass extends Someclass

Finalizer Methods Constructors are used to initialize an object when it is declared. This process is known as “Initialization”. Similarly, java supports a concept called “finalization”. Java run time is automatic garbage collecting system. It automatically frees up the memory resources used by the objects. But objects may hold other non-object resources. To free these resources we must use a finalizer method finalize( )

Abstract Methods and Classes A class declared as abstract is known as abstract class. It needs to be extended and its method implemented. It cannot be instantiated. Syntax to declare the abstract class abstract class <class_name>{ }   Abstract Method A method that is declared as abstract and does not have implementation is known as abstract method. Syntax to define the abstract method abstract return_type <method_name>(); //no braces{}  

Example abstract class Bike{ abstract void run( ); } }      class Honda extends Bike {   void run() { System.out.println("running safely.."); public static void main(String args[])   Bike obj = new Honda();     obj.run();   } 

//example of abstract class having constructor, field and method abstract class Bike { int limit=30; Bike( ) { System.out.println("constructor is invoked"); } void getDetails() { System.out.println("it has two wheels"); } abstract void run(); } class Honda extends Bike{ void run(){ System.out.println("running safely.."); } public static void main(String args[]){ Bike obj = new Honda(); obj.run(); obj.getDetails(); System.out.println(obj.limit); } }

Methods with Varargs Varargs represents variable length arguments in methods. It makes the code simpler and flexible. <access specifier> void method-name(object…arguments) In this syntax, the method contains an argument called varargs ,in which Object is type of an argument. Ellipsis (…) is the key to varargs and arguments is the name of variable.

public void sample(String … var_name) Thus varargs allows us to declare a method with the unspecified number of parameters. The varargs must be the final argument in the argument list of a method. Example : Public void sample(String username, String password, String mailId); This method can be replaced by varargs: public void sample(String … var_name)

Example program for varargs class Exampleprg { Exampleprg (String… person) for(String name: person) System.out.println(“Hello ”+ name); } public static void main(String args[]) Exampleprg(“John”, “Janny”, “Janardan”);