-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpolymorphism_interface.java
67 lines (60 loc) · 1.82 KB
/
polymorphism_interface.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
interface MyCamera2{
void takeSnap();
void recordVideo();
private void greet(){
System.out.println("Good Morning");
}
default void record4KVideo(){
greet();
System.out.println("Recording in 4k...");
}
}
interface MyWifi2{
String[] getNetworks();
void connectToNetwork(String network);
}
class MyCellPhone2{
void callNumber(int phoneNumber){
System.out.println("Calling "+ phoneNumber);
}
void pickCall(){
System.out.println("Connecting... ");
}
}
class MySmartPhone2 extends MyCellPhone2 implements MyWifi2, MyCamera2{
public void takeSnap(){
System.out.println("Taking snap");
}
public void recordVideo(){
System.out.println("Taking snap");
}
// public void record4KVideo(){
// System.out.println("Taking snap and recoding in 4k");
// }
public String[] getNetworks(){
System.out.println("Getting List of Networks");
String[] networkList = {"Harry", "Prashanth", "Anjali5G"};
return networkList;
}
public void connectToNetwork(String network){
System.out.println("Connecting to " + network);
}
public void sampleMeth(){
System.out.println("meth");
}
}
public class polymorphism_interface {
public static void main(String[] args) {
MyCamera2 cam1 = new MySmartPhone2(); // This is a smartphone but, use it as a camera
// cam1.getNetworks(); --> Not allowed
// cam1.sampleMeth(); --> Not allowed
cam1.record4KVideo();
MySmartPhone2 s = new MySmartPhone2();
s.sampleMeth();
s.recordVideo();
s.getNetworks();
s.callNumber(1525);
}
}
// GPS g = new Smartphone ( ); can only use GPS method
// Smartphones = new Smartphone ( ); can only use smartphone methods