465.61K
Категория: ПрограммированиеПрограммирование

Теория второй лабы. Занятие 3: «Забвению не подлежит»

1.

Теория второй лабы.
Занятие 3: «Забвению не
подлежит»

2.

А что от нас хотят?

3.

P
L
AN
ОК
УР
al
А
• ОООООООООООООООООООООООП!
• Подробно про объекты, наследование,
полиморфизм и инкапсуляцию
• THIS is SUPER words
• Геттеры и сеттеры
• Члены класса
• Модификаторы доступа
• Final and static + non-static
• Пакеты и import

4.

ОООП или
Определение ОбъектноОриентированного
Программирования

5.

this. and super
man
man
class Human{
private String name;
class Valera{
private String name;
Valera(String name){
this.name = name;
}
}
Human(String name){
this.name = name
}
}
class Valera extends Human{
Valera(String name){
super(name);
}
}

6.

Объекты
Valera.energy = 10000
Valera.Eat()
Valera valera = new Valera();
ИЛИ
class Valera{
private String name;
Valera(String name){
this.name = name;
}
}
*main method*
Valera valera = new Valera(“Valera”);

7.

Наследование
class Human{
private double height;
private String name;
public void drink(){
System.out.println( this.name + “
drinks.”);
}
}
class Petya extends Human{
height = 100;
name = “Petya”;
public void eat(String what){
System.out.println(“Petya eats” +
what);
}
}

8.

Полиморфизм
(поли – «много», морфо – «тело»)
class Human{
private double height;
private String name;
public void drink(){
System.out.println( this.name + “
drinks.”);
}
}
class Petya extends Human{
height = 100;
name = “Petya”;
@Override
public void drink(){
System.out.println(“Petya drinks”);
}
}

9.

ИНКАПСУЛЯЦИЯ
ТИПА КАПСУЛА
ограничение доступа к данным и возможностям их изменения.
class Human{
private double height;
private String name;
public void drink(){
System.out.println( this.name + “
drinks.”);
}
}

10.

ГЕТТЕРЫ И СЕТТЕРЫ
ГЕТ СЕТ
ВЗЯТЬ УСТАНОВИТЬ
ВЗЯТЕЛИ И УСТАНОВИТЕЛИ
class Human{
private double height;
private String name;
Human(String name, double height){
this.name = name;
this.height = height;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setHeight(double height){
this.height = height;
}
public double getHeight(){
return height;
}
}
Создание объекта
Human vasya = new Human(“Vasya”, 165);
Изменение полей
Vasya.setName(“VASILIY”);
Vasya.setHeight(185);
Вызов метода
Взятие полей
String Vas_name = Vasya.getName();
Double Vas_height = Vasya.getHeight();
Создание и инициализация объекта

11.

ЧЛЕНЫ класса
Это
Поля
И
Методы
Класса
class Human{
private double height;
private String name;
public void drink(){
System.out.println( this.name + “
drinks.”);
}
}

12.

МОДИФИКАТОРЫ ДОСТУПА
• private – всё в рамках ОДНОГО класса.
• Proteted – всё в рамках ОДНОГО класса и
ВСЕХ его наследников.
• default(package visible) – не пишется
ключевым словом, по сути, пустота,
видимость сама присвоится.
• public – видно всё везде, нет ограничений.

13.

Static and non-static, а ещё final
Создаём класс с полями и методами:
class Machine{
static int static_test = 0;
int nonstatic_test = 0;
public static void PUF(){System.out.println(“PUF”);}
public void GAF(){
System.out.println(“GAF”);
}
}
Используем переменные:
Machine.static_int = 10; - OK
Machine.nonstatic_int = 10; - ERROR
OK:
Machine mach = new Machine();
mach.nonstatic_int = 10;
Используем методы:
Machine.PUF(); - OK
Machine.GAF(); - ERROR
OK:
Machine mach = new Machine();
mach.GAF();
final – константа, нельзя изменять, не будет меняться

14.

Капеты и импорт

15.

СПАСИБО ЗА ВНИМАНИЕ!!!
English     Русский Правила