File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package apps .birds ;
2+
3+ public abstract class Bird
4+ {
5+ protected String name ;
6+
7+ public Bird (String name )
8+ {
9+ this .name = name ;
10+ }
11+
12+ public abstract void fly ();
13+
14+ public abstract void sing ();
15+
16+ public abstract void layEggs ();
17+
18+ public final void setName (String name )
19+ {
20+ this .name = name ;
21+ }
22+
23+ public final String getName ()
24+ {
25+ return name ;
26+ }
27+
28+ @ Override
29+ public final boolean equals (Object o )
30+ {
31+ if (this == o )
32+ {
33+ return true ;
34+ }
35+ if (o == null || getClass () != o .getClass ())
36+ {
37+ return false ;
38+ }
39+
40+ Bird bird = (Bird ) o ;
41+
42+ return name .equals (bird .name );
43+ }
44+
45+ @ Override
46+ public int hashCode ()
47+ {
48+ return name .hashCode ();
49+ }
50+
51+ @ Override
52+ public final String toString ()
53+ {
54+ return name ;
55+ }
56+ }
Original file line number Diff line number Diff line change 1+ package apps .birds ;
2+
3+ public class BroodHen extends Bird implements HatchingChicks
4+ {
5+ public BroodHen ()
6+ {
7+ super ("Наседка" );
8+ }
9+
10+ @ Override
11+ public void fly ()
12+ {
13+ System .out .println ("Курица летит на небольшое расстояние" );
14+ }
15+
16+ @ Override
17+ public void sing ()
18+ {
19+ System .out .println ("Кудахчет" );
20+ }
21+
22+ @ Override
23+ public void layEggs ()
24+ {
25+ System .out .println ("Курица снесла яйца" );
26+ }
27+
28+ @ Override
29+ public void hatchingChicks ()
30+ {
31+ System .out .println ("Курица высиживает яйца" );
32+ }
33+ }
Original file line number Diff line number Diff line change 1+ package apps .birds ;
2+
3+ class Cuckoo extends Bird
4+ {
5+ public Cuckoo ()
6+ {
7+ super ("Кукушка" );
8+ }
9+
10+ @ Override
11+ public void fly ()
12+ {
13+ System .out .println ("Кукушка летит" );
14+ }
15+
16+ @ Override
17+ public void sing ()
18+ {
19+ System .out .println ("Ку-ку" );
20+ }
21+
22+ @ Override
23+ public void layEggs ()
24+ {
25+ System .out .println ("Кукушка подбросила яйца другой птице" );
26+ }
27+ }
Original file line number Diff line number Diff line change 1+ package apps .birds ;
2+
3+ public interface HatchingChicks
4+ {
5+ void hatchingChicks ();
6+ }
Original file line number Diff line number Diff line change @@ -49,4 +49,34 @@ public String toString()
4949 {
5050 return path .isEmpty () ? name : path + '\\' + name ;
5151 }
52+
53+ @ Override
54+ public boolean equals (Object o )
55+ {
56+ if (this == o )
57+ {
58+ return true ;
59+ }
60+ if (o == null || getClass () != o .getClass ())
61+ {
62+ return false ;
63+ }
64+
65+ Directory directory = (Directory ) o ;
66+
67+ if (!path .equals (directory .path ))
68+ {
69+ return false ;
70+ }
71+
72+ return name .equals (directory .name );
73+ }
74+
75+ @ Override
76+ public int hashCode ()
77+ {
78+ int result = path .hashCode ();
79+ result = 31 * result + name .hashCode ();
80+ return result ;
81+ }
5282}
Original file line number Diff line number Diff line change @@ -99,4 +99,44 @@ public boolean delete()
9999 }
100100
101101 public abstract String toString ();
102+
103+ @ Override
104+ public boolean equals (Object o )
105+ {
106+ if (this == o )
107+ {
108+ return true ;
109+ }
110+ if (o == null || getClass () != o .getClass ())
111+ {
112+ return false ;
113+ }
114+
115+ File file = (File ) o ;
116+
117+ if (!name .equals (file .name ))
118+ {
119+ return false ;
120+ }
121+ if (!path .equals (file .path ))
122+ {
123+ return false ;
124+ }
125+ if (!extension .equals (file .extension ))
126+ {
127+ return false ;
128+ }
129+
130+ return systemRepresentation .equals (file .systemRepresentation );
131+ }
132+
133+ @ Override
134+ public int hashCode ()
135+ {
136+ int result = name .hashCode ();
137+ result = 31 * result + path .hashCode ();
138+ result = 31 * result + extension .hashCode ();
139+ result = 31 * result + systemRepresentation .hashCode ();
140+ return result ;
141+ }
102142}
You can’t perform that action at this time.
0 commit comments