Skip to content

inheritance in depth example #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 78 additions & 24 deletions src/com/in28minutes/java/oops/interfaces/InterfaceExamples.java
Original file line number Diff line number Diff line change
@@ -1,24 +1,78 @@
package com.in28minutes.java.oops.interfaces;

interface Flyable {
void fly();
}

class Aeroplane implements Flyable {
public void fly() {
System.out.println("Aeroplane is flying");
}
}

class Bird implements Flyable {
public void fly() {
System.out.println("Bird is flying");
}
}

public class InterfaceExamples {
public static void main(String[] args) {
Flyable flyable = new Bird();
flyable.fly();
}
}
// base class
class Bicycle
{
// the Bicycle class has two fields
public int gear;
public int speed;

// the Bicycle class has one constructor
public Bicycle(int gear, int speed)
{
this.gear = gear;
this.speed = speed;
}

// the Bicycle class has three methods
public void applyBrake(int decrement)
{
speed -= decrement;
}

public void speedUp(int increment)
{
speed += increment;
}

// toString() method to print info of Bicycle
public String toString()
{
return("No of gears are "+gear
+"\n"
+ "speed of bicycle is "+speed);
}
}

// derived class
class MountainBike extends Bicycle
{

// the MountainBike subclass adds one more field
public int seatHeight;

// the MountainBike subclass has one constructor
public MountainBike(int gear,int speed,
int startHeight)
{
// invoking base-class(Bicycle) constructor
super(gear, speed);
seatHeight = startHeight;
}

// the MountainBike subclass adds one more method
public void setHeight(int newValue)
{
seatHeight = newValue;
}

// overriding toString() method
// of Bicycle to print more info
@Override
public String toString()
{
return (super.toString()+
"\nseat height is "+seatHeight);
}

}

// driver class
public class Test
{
public static void main(String args[])
{

MountainBike mb = new MountainBike(3, 100, 25);
System.out.println(mb.toString());

}
}