Skip to content

Commit 4b9d9fb

Browse files
committed
polymorphism
1 parent b17a443 commit 4b9d9fb

19 files changed

+188
-0
lines changed

src/ClassHoldObj/Fish.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package ClassHoldObj;
2+
3+
public class Fish extends Animal{}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package Polymorphism1;
2+
3+
import javax.swing.*;
4+
5+
//assume that pacman eats food like cherries, bananas, strawberries
6+
//superclass is Polymorphism1.pacFood
7+
//cherries, bananas, strawberries inherit all methods and variables on food class - subclasses
8+
9+
public class e55Polymorphism extends JFrame{
10+
public static void main(String [] args){
11+
//Polymorphism1.pacCherry cherry = new Polymorphism1.pacCherry();
12+
// cherry is reference variable
13+
// cherry is object of a type Polymorphism1.pacCherry
14+
//Polymorphism1.pacFood cherry2 = new Polymorphism1.pacCherry(); // anything that inherits from superclass can be assigned to cherry2
15+
//polymoprphic array
16+
pacFood bucky[] = new pacFood[2];
17+
bucky[0] = new pacCherry();
18+
bucky[1] = new pacBanana();
19+
//variables are of Polymorphism1.pacFood class
20+
for(int x=0; x<2; ++x ){
21+
bucky[x].eat();
22+
//no need to create an object of every type
23+
}
24+
}
25+
}

src/Polymorphism1/pacBanana.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package Polymorphism1;
2+
3+
public class pacBanana extends pacFood{
4+
public void eat() {
5+
6+
System.out.println("This Banana is great");
7+
}
8+
}

src/Polymorphism1/pacCherry.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package Polymorphism1;
2+
3+
public class pacCherry extends pacFood{
4+
public void eat() {
5+
6+
System.out.println("This Cherry is great");
7+
}
8+
}

src/Polymorphism1/pacFood.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package Polymorphism1;
2+
3+
public class pacFood {
4+
public void eat() {
5+
6+
System.out.println("This food is great");
7+
}
8+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package Polymorphism1;
2+
3+
public class pacStrawnerrie extends pacFood{
4+
public void eat() {
5+
6+
System.out.println("This Strawberry is great");
7+
}
8+
}

src/Polymorphism2/pacman.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package Polymorphism2;
2+
3+
public class pacman extends pacFood {
4+
public void digest(pacFood x) { //pass a food object
5+
x.eat(); // i can also pass subclasses objects of pacFood Superclass
6+
}
7+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package Polymorphism3;
2+
3+
import javax.swing.*;
4+
5+
//assume that pacman eats food like cherries, bananas, strawberries
6+
//superclass is Polymorphism1.pacFood
7+
//cherries, bananas, strawberries inherit all methods and variables on food class - subclasses
8+
//overwriting -> same argument as superclass
9+
//same arguments on overwriting - consistency in subclasses
10+
//also cannot change scope-visibility
11+
//overloading is when i change the arguments
12+
public class e57Polymorphism extends JFrame{
13+
public static void main(String [] args){
14+
pacman mypacman = new pacman();
15+
pacFood fo = new pacFood();
16+
pacFood so = new pacStrawnerrie();
17+
mypacman.digest(fo);
18+
mypacman.digest(so);
19+
}
20+
}

src/Polymorphism3/pacBanana.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package Polymorphism3;
2+
3+
public class pacBanana extends pacFood {
4+
public void eat() {
5+
6+
System.out.println("This Banana is great");
7+
}
8+
}

src/Polymorphism3/pacCherry.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package Polymorphism3;
2+
3+
public class pacCherry extends pacFood {
4+
public void eat() {
5+
6+
System.out.println("This Cherry is great");
7+
}
8+
}

0 commit comments

Comments
 (0)