1.57M
Категория: ПрограммированиеПрограммирование

Структура класса. Модуль 2. Объектно-ориентированное программирование

1.

Структура класса
Модуль 2. Объектно-ориентированное
программирование

2.

Java-класс

Поле
Объект
Метод
Экземпляр сущности параметр описанного
в классе типа данных
Описание свойств и
параметров сущности,
описываемой в классе
Действия с сущностью,
описанной в классе

3.

Описание класса
class Class_Name {
type1 field1;
type2 field2;

typeN mode1(){
body_mode1;
}

}
Задание:
Приведите примеры полей класса «Учащийся»

4.

Создание объекта
Объявление параметра:
КОТ:
Type name;
Выделение памяти:
new Type();
Инициализация:
name.field1 = value1;
...
Чтение адреса объекта:
name
Инициализация:
name = object;

5.

Практикум
Опишем класс Beast с параметрами feet и speed:
public class Beast {
int feet;
double speed;
}
Объявим в методе main 3 объекта: cat, dog,kangaroo –
экземпляры класса Beast:
Beast
Beast
Beast
cat;
dog = null;
kangaroo = new Beast();

6.

Поля класса
Зададим значения полей объектов класса:
cat.feet = 4;
cat.speed = 10.8;
dog.feet = 4;
dog.speed = 10.8;
kangaroo.feet = 2;
kangaroo.speed = 30;
Добавим в описание класса поле lactation:
public class Beast {
int feet; double speed;
static
lactation = “milk”;
String String
lactation;
}

7.

Поля класса
Зададим значения полей объектов класса:
cat.feet = 4;
cat.speed = 10.8;
Объявите еще одного зверя и присвойте
в эту переменную
кота.
dog.feet
= 4;
dog.speed = 10.8;
Сравните созданные объекты.
kangaroo.feet = 2;
kangaroo.speed = 30;
Добавим в описание класса поле lactation:
public class Beast {
int feet; double speed;
static
lactation = “milk”;
String String
lactation;
}

8.

Методы работы с объектом
Определим метод печати объекта
void printBeast(Beast x) {
System.out.println(“\n this beast's got “ + x.feet +
“ feet and its speed “ + x.speed +
“,\n and he feeds the children with “ + x.lactation;
}
И вызовем его в методе main:
printBeast(cat);
printBeast(dog);
printBeast(kangaroo);

9.

Методы класса
Определим метод печати полей объекта
void print() {
System.out.println(“\n this beast's got “ + feet + “
feet and its speed “ + speed +
“,\n and he feeds the children with “ + lactation;
}
И метод чтения каждого из полей объекта
double getSpeed() {
return speed;
}
int getFeet() {
return feet;
}
String getLact() {
return lactation;
}

10.

Методы класса
Сравнение скоростей зверей:
boolean faster(Beast x) {
return speed > x.speed;
}
Методы изменения каждого из полей объекта
void setSpeed(double х) {
speed = x;
}

11.

Метод -конструктор

Имя
Вызов
Совпадает с именем класса
Тип
Ничего не возвращает
Оператор new
Если конструктор не определен, создается конструктор без параметров «конструктор по умолчанию»

12.

Перегрузка конструктора класса
Создадим конструктор зверя с известным количеством ног:
Beast (int x) {
feet = x;
}
Beast (int feet) {
this.feet = feet;
}
Создайте конструкторы
по умолчанию (без параметров),
по известному способу кормления (с одним параметром),
по количеству ног и скорости (с двумя параметрами),
полностью определенный объект (с тремя параметрами)

13.

Домашнее задание
Реализуйте класс Ratio, описывающий обыкновенную дробь с полями
«числитель» и «знаменатель».
Создайте в классе конструктор с знаменателем, не равным нулю и
конструктор смешанной дроби
Определите методы:
1. Вывода дроби на устройство вывода (*)
2. Перевода дроби в десятичное представление (*)
3. Умножения дроби на другую дробь (*)
4.Сокращения дроби
5. Перевода в неправильную дробь
6. Умножения дроби на дробь
7. Деления дроби на дробь
print(Ratio x)
decim(Ratio x)
mult(Ratio x)
reduce(Ratio x)
mixed(Ratio x)
mult(Ratio x)
div(Ratio x)
Создайте экземпляры класса и примените к ним все методы класса.
English     Русский Правила