-
Notifications
You must be signed in to change notification settings - Fork 0
/
lab_3_q_3Main (2).java
131 lines (98 loc) · 2.18 KB
/
lab_3_q_3Main (2).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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/******************************************************************************
Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl,
C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
public class Main
{
public static void main(String[] args) {
duck wd = new WD();
duck rd = new RD();
duck rhd = new RHD();
duck ld = new LD();
wd.display();
wd.performFly();
wd.performQuack();
wd.swim();
rd.display();
rd.performFly();
rd.performQuack();
rd.swim();
rhd.display();
rhd.performFly();
rhd.performQuack();
rhd.swim();
ld.display();
ld.performFly();
ld.performQuack();
ld.swim();
}
}
interface quacking{
void quack();
}
class quacks implements quacking{
public void quack(){
System.out.println("Quacks");
}
}
class silent implements quacking{
public void quack(){
System.out.println("Silence");
}
}
class squeak implements quacking{
public void quack(){
System.out.println("squeaks");
}
}
interface fly{
void flies();
}
class canf implements fly{
public void flies(){
System.out.println("can fly");
}
}
class cannotf implements fly{
public void flies(){
System.out.println("cannot fly");
}
}
class WD extends duck{
public WD(){
q = new silent();
f = new cannotf();
}
public void display(){
System.out.println("Wooden Duck");
}
}
class RD extends duck{
public RD(){
q = new squeak();
f = new cannotf();
}
public void display(){
System.out.println("Rubber Duck");
}
}
class RHD extends duck{
public RHD(){
q = new quacks();
f = new canf();
}
public void display(){
System.out.println("Red head Duck");
}
}
class LD extends duck{
public LD(){
q = new quacks();
f = new canf();
}
public void display(){
System.out.println("Lake Duck");
}
}