Unit-9 Inheritance in java

Inheritance Basics…

Example : SimpleInheritance

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.io.*;
class A
{
int i,j;
void showij(){
System.out.println("i ana j:"+i+""+j);
}
}
class B extends A{
int k;
void showk(){
System.out.println("k:"+k);
}
void sum()
{
System.out.println("i+j+k:"+(i+j+k));
}
}
class SimpleInheritance
{
public static void main(String args[])
{
A superOb=new A();
B subOb=new B();
superOb.i=10;
superOb.j=20;
System.out.println("Contents of superOb:");
superOb.showij();
System.out.println();
subOb.i=7;
subOb.j=8;
subOb.k=9;
System.out.println("Contents of subOb:");
subOb.showij();
subOb.showk();
System.out.println();
System.out.println("Sum ofi,j and k in subOb:");
subOb.sum();
}
}
import java.io.*; class A { int i,j; void showij(){ System.out.println("i ana j:"+i+""+j); } } class B extends A{ int k; void showk(){ System.out.println("k:"+k); } void sum() { System.out.println("i+j+k:"+(i+j+k)); } } class SimpleInheritance { public static void main(String args[]) { A superOb=new A(); B subOb=new B(); superOb.i=10; superOb.j=20; System.out.println("Contents of superOb:"); superOb.showij(); System.out.println(); subOb.i=7; subOb.j=8; subOb.k=9; System.out.println("Contents of subOb:"); subOb.showij(); subOb.showk(); System.out.println(); System.out.println("Sum ofi,j and k in subOb:"); subOb.sum(); } }
import java.io.*;
class A
{
int i,j;
void showij(){
System.out.println("i ana j:"+i+""+j);
}
}
class B extends A{
int k;
void showk(){
System.out.println("k:"+k);
}
void sum()
{
System.out.println("i+j+k:"+(i+j+k));
}
}
class SimpleInheritance
{
public static void main(String args[])
{
A superOb=new A();
B subOb=new B();
superOb.i=10;
superOb.j=20;
System.out.println("Contents of superOb:");
superOb.showij();
System.out.println();
subOb.i=7;
subOb.j=8;
subOb.k=9;
System.out.println("Contents of subOb:");
subOb.showij();
subOb.showk();
System.out.println();
System.out.println("Sum ofi,j and k in subOb:");
subOb.sum();
}
}
Output : SimpleInheritance

Member Access and Inheritance in java…

Example : Access

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.io.*;
class A{
int i;
private int j;
void setij(int x,int y)
{
i=x;
j=y;
}
}
class B extends A
{
int total;
void sum()
{
total= i+j;
}
}
class Access
{
public static void main(String args[])
{
B subOb=new B();
subOb.setij(10,12);
subOb.sum();
System.out.println("Total is "+subOb.total);
}
}
import java.io.*; class A{ int i; private int j; void setij(int x,int y) { i=x; j=y; } } class B extends A { int total; void sum() { total= i+j; } } class Access { public static void main(String args[]) { B subOb=new B(); subOb.setij(10,12); subOb.sum(); System.out.println("Total is "+subOb.total); } }
import java.io.*;
class A{
int i;
private int j;
void setij(int x,int y)
{
i=x;
j=y;
}
}
class B extends A
{
int total;
void sum()
{
total= i+j;
}
}
class Access
{
public static void main(String args[])
{
B subOb=new B();
subOb.setij(10,12);
subOb.sum();
System.out.println("Total is "+subOb.total);
}
}
 
Output : In a class hierarchy, private members remain private to their class. This program contains an error and will not compile

Using super to Call Superclass constructors…

Example : Inherit1

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.lang.*;
import java .io.*;
class book
{
int bno;
String bname;
double price;
public book(int n,String bn,double p)
{
bno=n;
bname=bn;
price=p;
}
void display()
{
System.out.println("\nBook Number="+bno);
System.out.println("\nBook Name="+bname);
System.out.println("\nBook Price="+price);
}
}
class purchase extends book
{
int qord;
double netcost;
public purchase(int n1,String bn1,double p1,int q)
{
super(n1,bn1,p1);
qord=q;
}
void display()
{
netcost=qord*super.price;
super.display();
System.out.println("\nQuanity ordered="+qord);
System.out.println("\nNet cost="+netcost);
}
}
class Inherit1
{
public static void main(String args[])
{
purchase pur=new purchase(10,"Black Book of java",500.00,34);
pur.display();
}
}
import java.lang.*; import java .io.*; class book { int bno; String bname; double price; public book(int n,String bn,double p) { bno=n; bname=bn; price=p; } void display() { System.out.println("\nBook Number="+bno); System.out.println("\nBook Name="+bname); System.out.println("\nBook Price="+price); } } class purchase extends book { int qord; double netcost; public purchase(int n1,String bn1,double p1,int q) { super(n1,bn1,p1); qord=q; } void display() { netcost=qord*super.price; super.display(); System.out.println("\nQuanity ordered="+qord); System.out.println("\nNet cost="+netcost); } } class Inherit1 { public static void main(String args[]) { purchase pur=new purchase(10,"Black Book of java",500.00,34); pur.display(); } }
import java.lang.*;
import java .io.*;
class book
{
int bno;
String bname;
double price;
public book(int n,String bn,double p)
{
bno=n;
bname=bn;
price=p;
}
void display()
{
System.out.println("\nBook Number="+bno);
System.out.println("\nBook Name="+bname);
System.out.println("\nBook Price="+price);
}
}
class purchase extends book
{
int qord;
double netcost;
public purchase(int n1,String bn1,double p1,int q)
{
super(n1,bn1,p1);
qord=q;
}
void display()
{
netcost=qord*super.price;
super.display();
System.out.println("\nQuanity ordered="+qord);
System.out.println("\nNet cost="+netcost);
}
}
class Inherit1
{
public static void main(String args[])
{
purchase pur=new purchase(10,"Black Book of java",500.00,34);
pur.display();
}
}
Output : Inherit1

Method Overriding

Example : FindAreas

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.io.*;
class Figure
{
double dim1;
double dim2;
Figure(double a,double b){
dim1 =a;
dim2 =b;
}
double area()
{
System.out.println("Area for Figure is undefined.");
return 0;
}
}
class Rectangle extends Figure
{
Rectangle (double a,double b)
{
super(a,b);
}
double area()
{
System.out.println("Inside Area for Rectangle.");
return dim1*dim2;
}
}
class Triangle extends Figure
{
Triangle(double a,double b)
{
super (a,b);
}
double area()
{
System.out.println("Inside Area for Triangle.");
return dim1*dim2/2;
}
}
class FindAreas
{
public static void main(String args[])
{
Figure f=new Figure(10,10);
Rectangle r=new Rectangle(9,5);
Triangle t=new Triangle(10,8);
Figure figref;
figref=r;
System.out.println("Area is "+figref.area());
figref=t;
System.out.println("Area is"+figref.area());
figref=f;
System.out.println("Area is"+figref.area());
}
}
import java.io.*; class Figure { double dim1; double dim2; Figure(double a,double b){ dim1 =a; dim2 =b; } double area() { System.out.println("Area for Figure is undefined."); return 0; } } class Rectangle extends Figure { Rectangle (double a,double b) { super(a,b); } double area() { System.out.println("Inside Area for Rectangle."); return dim1*dim2; } } class Triangle extends Figure { Triangle(double a,double b) { super (a,b); } double area() { System.out.println("Inside Area for Triangle."); return dim1*dim2/2; } } class FindAreas { public static void main(String args[]) { Figure f=new Figure(10,10); Rectangle r=new Rectangle(9,5); Triangle t=new Triangle(10,8); Figure figref; figref=r; System.out.println("Area is "+figref.area()); figref=t; System.out.println("Area is"+figref.area()); figref=f; System.out.println("Area is"+figref.area()); } }
import java.io.*;
class Figure
{
double dim1;
double dim2;
Figure(double a,double b){
dim1 =a;
dim2 =b;
}
double area()
{
System.out.println("Area for Figure is undefined.");
return 0;
}
}
class Rectangle extends Figure
{
Rectangle (double a,double b)
{
super(a,b);
}
double area()
{
System.out.println("Inside Area for Rectangle.");
return dim1*dim2;
}
}
class Triangle extends Figure
{
Triangle(double a,double b)
{
super (a,b);
}
double area()
{
System.out.println("Inside Area for Triangle.");
return dim1*dim2/2;
}
}
class FindAreas
{
public static void main(String args[])
{
Figure f=new Figure(10,10);
Rectangle r=new Rectangle(9,5);
Triangle t=new Triangle(10,8);
Figure figref;
figref=r;
System.out.println("Area is "+figref.area());
figref=t;
System.out.println("Area is"+figref.area());
figref=f;
System.out.println("Area is"+figref.area());
}
}
Output : FindAreas