-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathJava_lab2_theory.txt
90 lines (49 loc) · 4 KB
/
Java_lab2_theory.txt
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
1) Ооп - это методология программирования, в которой программа представляется в виде взаимодействия объектов
Наследование - это отношение классов, при котором подкласс наследует методы и поля родительского класса
Полиморфизм - это свойство, которое позволяет переопределять родительские методы и создавать
одноимённые методы с различным наборов параметров
Позволяет ли полиморфизм возвращать разное количество объектов?
Можно ли в переопределённо родительском методе возвращать другое кол-во объектов?
нет, может возвращать только один, тот, который мы указываем в родительском методе.
Инкапсуляция - это сокрытие, т.е. объявление переменных класса приватными и добавление для каждого из них getr() и setr()
Т.е. разграничение доступа
Асбтракция - это описание в классе только основных методов и свойств объектов
Класс - шаблон, описывающий свойства и методы объекта
*это экземпляр класса
Объект - экземпляр класса
Члены класса - поля данных и методы
Модификаторы доступа - privae default protected public
1) только в классе
2) в классе, в package, в подклассе этого package
3) 2) + в другом package
4) 3) + везде
создание и инициализация объектов java - просто new и всё
выделяется память
static - может быть у полей и методов
могут использоваться без создания объектов класса
то есть не нужно создавать объект класса машина
final класс нельзя наследовать
final метод метод нельзя переобпределять
переменную тоже
олласти
Два варианта реализации полиморфизма в Java:
Overloading – перегрузка метода
Overriding – переопределение метода
конструктор - метод, иницилизирующий объект, создаваемый с помощью new
static
для перменных - переменная будет не для одного объекта, а для класса
значит когда мы её меняем, она меняется для всех объектов этого класса
для методов -
для классов
Каверзные вопросы:
1) Можем ли мы переопределить статический метод в Java?
- нет, не можем, потому что статический метод не связан с каким либо экземпляром класса.
2) Что такое суперкласс?
- это класс, на основе которого создаются другие классы
3) Абстракция - это?
Абстрактный класс - основа для всех дочерних классов
и в нём нельзя создавать объекты!
Для статических методов можно ли overload, overriding?
- overload можно, override нельзя!
Абстрактный метод
Конструктор - это