forked from sermakov/JavaPatternMirea
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtsk6.java
More file actions
Latest commit
99 lines (69 loc) · 2.15 KB
/
Copy pathtsk6.java
File metadata and controls
99 lines (69 loc) · 2.15 KB
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
packagesome;
publicclasstsk6 {
staticvoidprt(Objecta) { System.out.println(a); }
@SuppressWarnings("unused")
publicstaticvoidmain(String[] args) {
FctPrda = FctCrt.crt();
Prab = Fct.a.pra();
Prbc = Fct.a.prb();
Objd = newObj.ObjBld()
.stA(0)
.stB(0)
.stC(0)
.bld();
PrtSbe = newPrtSb();
e.b = 3;
PrtSbf = (PrtSb) e.cln();
prt("" + (e.b == f.b) + ' ' + (e == f));
}
////////////////////////////////////////////////////
interfaceFctPrd {}
staticclassFctActPrdimplementsFctPrd {}
staticclassFctCrt {
staticFctPrdcrt() { returnnewFctActPrd(); }
}
////////////////////////////////////////////////////
interfacePra {}
interfacePrb {}
staticclassPrdaimplementsPra {}
staticclassPrdbimplementsPrb {}
interfaceIFct {
Prapra();
Prbprb();
}
staticclassFctimplementsIFct {
staticfinalIFcta = newFct();
privateFct() {}
@OverridepublicPrapra() { returnnewPrda(); }
@OverridepublicPrbprb() { returnnewPrdb(); }
}
////////////////////////////////////////////////////
staticclassObj {
Obj(inta, intb, intc) {}
staticclassObjBld {
privateinta;
privateintb;
privateintc;
ObjBldstA(int_a) { a = _a; returnthis; }
ObjBldstB(int_b) { b = _b; returnthis; }
ObjBldstC(int_c) { c = _c; returnthis; }
Objbld() { returnnewObj(a, b, c); }
}
}
////////////////////////////////////////////////////
interfaceIPrt {
IPrtcln();
}
staticclassPrtimplementsIPrt {
privateinta = 1;
Prt() {}
Prt(Prtb) { a = b.a; }
@OverridepublicIPrtcln() { returnnewPrt(this); }
}
staticclassPrtSbextendsPrt {
privateintb = 2;
PrtSb() {}
publicPrtSb(PrtSbc) { super(c); b = c.b; }
@OverridepublicIPrtcln() { returnnewPrtSb(this); }
}
}