-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
128 lines (91 loc) · 3.58 KB
/
Solution.java
File metadata and controls
128 lines (91 loc) · 3.58 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
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
//Jesus answered him, "If a man loves me, he will keep my word. My Father will love him,
//and we will come to him, and make our home with him. (John 14:23)
package com.javarush.task.task14.task1412;
/*
Реализовать метод printMainInfo
*/
public class Solution {
public static void main(String[] args) {
Object obj = new Circle();
Movable movable = (Movable) obj;
Drawable drawable = new Rectangle();
printMainInfo(drawable);
printMainInfo(movable);
}
public static void printMainInfo(Object object) {
if (object instanceof Drawable) {((Drawable)object).draw();}//напишите тут ваш код
if (object instanceof Movable) {((Movable)object).move();}
}
static interface Movable {
void move();
}
static class Circle implements Movable {
public void draw() {
System.out.println("can be drawn");
}
public void move() {
System.out.println("can be moved");
}
}
static interface Drawable {
void draw();
}
static class Rectangle implements Drawable {
public void draw() {
System.out.println("can be drawn");
}
public void move() {
System.out.println("can be moved");
}
}
}
/*
Реализовать метод printMainInfo
1. Напиши реализацию метода printMainInfo, чтобы:
1.1. Если в метод передают объект типа Drawable, у этого объекта вызывался метод draw.
1.2. Если в метод передают объект типа Movable, у этого объекта вызывался метод move.
Требования:
1. Класс Solution должен содержать реализацию метода printMainInfo с одним параметром типа Object.
2. Метод printMainInfo должен быть статическим.
3. Метод printMainInfo должен иметь самый широкий уровень доступа(public).
4. Метод printMainInfo должен вызывать у переданного ему в качестве параметра объекта метод draw, если этот объект реализует интерфейс Drawable.
5. Метод printMainInfo должен вызывать у переданного ему в качестве параметра объекта метод move, если этот объект реализует интерфейс Movable.
package com.javarush.task.task14.task1412;
*
Реализовать метод printMainInfo
*
public class Solution {
public static void main(String[] args) {
Object obj = new Circle();
Movable movable = (Movable) obj;
Drawable drawable = new Rectangle();
printMainInfo(drawable);
printMainInfo(movable);
}
public static void printMainInfo(Object object) {
//напишите тут ваш код
}
static interface Movable {
void move();
}
static class Circle implements Movable {
public void draw() {
System.out.println("can be drawn");
}
public void move() {
System.out.println("can be moved");
}
}
static interface Drawable {
void draw();
}
static class Rectangle implements Drawable {
public void draw() {
System.out.println("can be drawn");
}
public void move() {
System.out.println("can be moved");
}
}
}
*/