0% found this document useful (0 votes)
178 views

Inheritance and Polymorphism Cheatsheet

Inheritance allows one class to inherit fields and methods from another parent class. A child class extends a parent class and inherits its traits. Only one Java file requires a main() method, which is the file that will run the program. The super() method acts like the parent constructor inside the child class constructor. Protected and final modifiers control child class access to parent members and methods. Polymorphism allows child classes to share parent behavior while adding their own functionality. Method overriding allows child classes to have methods with the same name but different behavior than parent methods. Polymorphism also allows arrays and ArrayLists to hold instances of child classes that extend a common parent class.

Uploaded by

Samy Mehdid
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
178 views

Inheritance and Polymorphism Cheatsheet

Inheritance allows one class to inherit fields and methods from another parent class. A child class extends a parent class and inherits its traits. Only one Java file requires a main() method, which is the file that will run the program. The super() method acts like the parent constructor inside the child class constructor. Protected and final modifiers control child class access to parent members and methods. Polymorphism allows child classes to share parent behavior while adding their own functionality. Method overriding allows child classes to have methods with the same name but different behavior than parent methods. Polymorphism also allows arrays and ArrayLists to hold instances of child classes that extend a common parent class.

Uploaded by

Samy Mehdid
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Cheatsheets / Learn Java

Inheritance and Polymorphism

Inheritance in Java
Inheritance is an important feature of object- // Parent Class
oriented programming in Java. It allows for one
class Animal {
class (child class) to inherit the fields and
methods of another class (parent class). For // Animal class members
instance, we might want a child class Dog to }
inherent traits from a more general parent class
Animal .
// Child Class
When defining a child class in Java, we use the
keyword extends to inherit from a parent class Dog extends Animal {
class. // Dog inherits traits from Animal

// additional Dog class members


}

Main() method in Java


In simple Java programs, you may work with just // Shape.java file
one class and one file. However, as your
class Shape {
programs become more complex you will work
with multiple classes, each of which requires its public static void main(String[]
own file. Only one of these files in the Java args) {
package requires a main() method, and this
Square sq = new Square();
is the file that will be run in the package.
For example, say we have two files in our Java }
package for two different classes: }
Shape , the parent class.
Square , the child class.
If the Java file containing our Shape class is // Square.java file
the only one with a main() method, this is the class Square extends Shape {
file that will be run for our Java package.

}
super() in Java
In Java, a child class inherits its parent’s fields // Parent class
and methods, meaning it also inherits the
class Animal {
parent’s constructor. Sometimes we may want to
modify the constructor, in which case we can String sound;
use the super() method, which acts like the Animal(String snd) {
parent constructor inside the child class
this.sound = snd;
constructor.
Alternatively, we can also completely override a }
parent class constructor by writing a new }
constructor for the child class.

// Child class
class Dog extends Animal {
// super() method can act like the
parent constructor inside the child
class constructor.
Dog() {
super("woof");
}
// alternatively, we can override the
constructor completely by defining a
new constructor.
Dog() {
this.sound = "woof";
}
}

Protected and Final keywords in Java


When creating classes in Java, sometimes we class Student {
may want to control child class access to parent
protected double gpa;
class members. We can use the protected
and final keywords to do just that. // any child class of Student can
protected keeps a parent class member access gpa
accessible to its child classes, to files within its
own package, and by subclasses of this class in
another package. final protected boolean isStudent() {
Adding final before a parent class method’s return true;
access modifier makes it so that any child
}
classes cannot modify that method - it is
immutable. // any child class of Student cannot
modify isStudent()
}
Polymorphism in Java
Java incorporates the object-oriented // Parent class
programming principle of polymorphism.
class Animal {
Polymorphism allows a child class to share the
information and behavior of its parent class while public void greeting() {
also incorporating its own functionality. This System.out.println("The animal
allows for the benefits of simplified syntax and
greets you.");
reduced cognitive overload for developers.
}
}

// Child class
class Cat extends Animal {
public void greeting() {
System.out.println("The cat
meows.");
}
}

class MainClass {
public static void main(String[]
args) {
Animal animal1 = new Animal(); //
Animal object
Animal cat1 = new Cat(); // Cat
object
animal1.greeting(); // prints "The
animal greets you."
cat1.greeting(); // prints "The cat
meows."
}
}
Method Overriding in Java
In Java, we can easily override parent class // Parent class
methods in a child class. Overriding a method is
class Animal {
useful when we want our child class method to
have the same name as a parent class method public void eating() {
but behave a bit differently. System.out.println("The animal
In order to override a parent class method in a
is eating.");
child class, we need to make sure that the child
class method has the following in common with }
its parent class method: }
Method name
Return type
Number and type of parameters // Child class
Additionally, we should include the class Dog extends Animal {
@Override keyword above our child class
// Dog's eating method overrides
method to indicate to the compiler that we want
to override a method in the parent class. Animal's eating method
@Override
public void eating() {
System.out.println("The dog is
eating.");
}
}
Child Classes in Arrays and ArrayLists
In Java, polymorphism allows us to put instances // Animal parent class with child
of different classes that share a parent class
classes Cat, Dog, and Pig.
together in an array or ArrayList .
For example, if we have an Animal parent Animal cat1, dog1, pig1;
class with child classes Cat , Dog , and Pig
we can set up an array with instances of each
cat1 = new Cat();
animal and then iterate through the list of
animals to perform the same action on each. dog1 = new Dog();
pig1 = new Pig();

// Set up an array with instances of


each animal
Animal[] animals = {cat1, dog1, pig1};

// Iterate through the list of animals


and perform the same action with each
for (Animal animal : animals) {

animal.sound();

Print Share

You might also like