Рабочие листы
к вашим урокам
Скачать
1 слайд
Основные сведения
о классах
на примере языка программирования
3 часть
Ежова Ю.Л.
2 слайд
Основные понятия
Конструктор
Конструктор с параметром
Методы «Сеттеры» и «геттеры»
3 слайд
Вспомним пример класса
Класс Mashina
class Mashina{
int passengers;
int fuelcap;
int mpg;
douЫe fuelneeded (int miles) {
return (douЫe) miles / mpg;
}
}
miles - параметр
Класс MashinaDemo
class MashinaDemo {
public static void main (String args[]) {
Mashina minivan = new Mashina();
minivan.passengers = 7;
minivan.fuelcap = 16;
minivan.mpg = 21;
double litr;
int dist=252;
litr = minivan.fuelneeded (dist);
System.out.println("Для преодоления " + dist + " км. мини-фургону требуется " + litr + " литров топлива");
}
}
dist - аргумент
4 слайд
Конструкторы
В предыдущем примере значения переменных экземпляра класса устанавливались вручную: minivan.passengers = 7;
В профессионально написанных на Java программах такой подход не применяется, т.к.
во-первых, существует большая вероятность допустить ошибку (например, не установить значение одного из полей)
во-вторых, существует гораздо более простой и надежный способ решения подобной задачи: использование конструкторов.
5 слайд
Пример простого конструктора
class MyClass {
int х;
MyClass () { //конструктор
х = 10;
}
}
______________________________
class ConsDemo {
public static void main(String args[]) {
MyClass t1= new MyClass();
MyClass t2 = new MyClass();
Systern.out.println(t1.x + t2.x);
}
}
Что будет выведено?
Конструктор инициализирует объект при его создании.
Конструктор всегда вызывается совместно с операцией new.
Имя конструктора совпадает с именем класса, синтаксис подобен методу.
Конструктор не возвращает никакого значения.
Класс может иметь несколько конструкторов.
Как правило, конструкторы используются для задания первоначальных значений переменных экземпляра, определенных в классе
У всех классов существует конструктор, используемый по умолчанию и задающий начальные значения переменных: int – 0, bool - false, для ссылочных переменных - Null
6 слайд
Конструкторы с параметрами
class MyClass {
int х;
MyClass (int i) { //конструктор с параметром
х = i;
}
}
______________________________
class ConsDemo {
public static void main(String args[]) {
MyClass t1= new MyClass(10);
MyClass t2 = new MyClass(80);
Systern.out.println(t1.x + t2.x);
}
}
Что будет выведено?
В конструктор параметры вводятся таким же образом, как и в метод.
Для этого достаточно объявить их в скобках после имени конструктора.
7 слайд
Добавление конструктора в класс Mashina
Класс Mashina
class Mashina{
int passengers;
int fuelcap;
int mpg;
// Это конструктор класса
Mashina (int р, int f, int m) {
passengers = р;
fuelcap = f;
mpg = m;
}
douЫe fuelneeded (int miles) {
return (douЫe) miles / mpg; }
}
Класс MashinaDemo
class MashinaDemo {
public static void main (String args[]) {
Mashina minivan = new Mashina(7,16,21);
double litr;
int dist=252;
litr = minivan.fuelneeded (dist);
System.out.println("Для преодоления" + dist + " км. мини-фургону требуется " + litr + " литров топлива");
}
8 слайд
«Сеттеры» и «геттеры» обеспечивают инкапсуляцию данных
«Сеттеры» - это методы для установки значений переменных экземпляра класса
class Mashina{
Private int passengers;
Public void SetPassengers (int x){
if (x<2) {passengers = 1
} else {
passengers = x;
}
}
«Геттеры» - это методы для возвращения значений переменных экземпляра класса
class Mashina{
Private int passengers;
Public int GetPassengers (){
return passengers;
}
}
Инкапсуляция - это механизм, который объединяет данные и код, манипулирующий этими данными, а также защищает и то, и другое от внешнего вмешательства или неправильного использования.
В объектно-ориентированном программировании код и данные могут быть объединены вместе; в этом случае говорят, что создаётся так называемый "чёрный ящик". Когда коды и данные объединяются таким способом, создаётся объект (object). Другими словами, объект - это то, что поддерживает инкапсуляцию.
Внутри объекта коды и данные могут быть закрытыми (private). Закрытые коды или данные доступны только для других частей этого объекта. Таким образом, закрытые коды и данные недоступны для тех частей программы, которые существуют вне объекта
9 слайд
«Сеттеры» обеспечивают корректный ввод данных
class Mashina{
Private int passengers;
Public void SetPassengers (int x){
If (x<2){
passengers = 2;
} else {
passengers = x;}
}
Public int GetPassengers (){
return passengers;
}
}
class MashinaDemo {
public static void main (String args[]) {
Mashina minivan = new Mashina();
minivan. SetPassengers(5);
System.out.println(«В машине" + minivan. GetPassengers () + " пассажиров");
}
}
10 слайд
Задание
Создать класс ученик Pupil.
Поля:
name - имя,
surname - фамилия,
age - возраст,
gender - пол,
Методы с параметрами:
read() - что читает, ввести с клавиатуры
write() – что пишет, ввести с клавиатуры
Конструктор – задать значения по-умолчанию
2. Создать класс демо DemoPupil, в котором создать 1 экземпляр класса Pupil, ввести значения полей, вызвать оба метода
Pupil
name
surname
age
gender
read()
write()
11 слайд
Литература
Герберт Шилдт Java 8: руководство для начинающих, 6-е изд. : Пер. с англ. - М. ООО "И.Д. Вильяме", 2015. - 720 с.
Кэтти Сьерра и Берт Бейтс. Изучаем JAVA. 2 издание. ЭКСМО.: Москва, 2012
https://metanit.com/java/
http://www.codenet.ru/
Рабочие листы
к вашим урокам
Скачать
Это последняя из трех презентация, посвященная объекто-ориентированному подходу в программировании на примере языка JAVA, в ней рассматриваются такие понятия как конструкторы, конструкторы с параметрами, методы, обеспечивающие инкапсуляцию данных. В презентации дается теория по данной теме и задание для самостоятельного выполнения.
6 672 254 материала в базе
«Информатика. Углубленный уровень (в2 частях)», Поляков К.Ю., Еремин Е.А.
§ 47. Объекты и классы
Больше материалов по этой темеНастоящий материал опубликован пользователем Ежова Юлия Львовна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс профессиональной переподготовки
500/1000 ч.
Курс повышения квалификации
72 ч. — 180 ч.
Курс повышения квалификации
72 ч. — 180 ч.
Курс профессиональной переподготовки
300/600 ч.
Мини-курс
10 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.