Практическая работа. Включение класса в учебном проете
учебно-методический материал

Практическая работа предназначена для студентов специальностей 09.00.00. Включает в себя методические указания, краткую теоретическую справку, пример создания класса, задания для самостоятельного выполнения. 
Язык реализации - Java 


Предварительный просмотр:

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 10

ТЕМА: ВКЛЮЧЕНИЕ КЛАССА В УЧЕБНЫЙ ПРОЕКТ

Цель работы: закрепить теоретические знания об объектно-ориентированном программировании на практике; научиться создавать собственные классы в среде разработки; освоить принципы инкапсуляции (сокрытия данных) с использованием модификаторов доступа; получить навык работы с методами класса и созданием экземпляров (объектов).

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

1. Понятие класса и объекта

Класс — это шаблон (или чертеж), описывающий состояние и поведение некоторой сущности из предметной области. Класс определяет структуру данных (поля) и операции (методы), которые можно выполнять над этими данными.

Объект (экземпляр класса) — это конкретный представитель класса, имеющий собственное состояние (значения полей). Например, класс Car — это шаблон, а объект myRedCar — это конкретная машина с определенным цветом и скоростью.

2. Поля класса

Это переменные, которые принадлежат классу. Они описывают состояние объекта.

По принципу инкапсуляции поля должны быть скрыты от внешнего доступа (модификатор private).

3. Конструктор

Это специальный метод, который автоматически вызывается при создании нового объекта класса. Он нужен для начальной инициализации полей.

  • Имя конструктора всегда совпадает с именем класса.
  • У конструктора нет возвращаемого типа (даже void).
  • Конструкторов может быть несколько (перегрузка).

4. Модификаторы доступа

  • private (закрытый): Доступен только внутри самого класса. Используется для полей и вспомогательных методов.
  • public (открытый): Доступен из любого места программы. Используется для методов, через которые мы управляем объектом (геттеры, сеттеры).

ПРИМЕР РЕАЛИЗАЦИИ

Создание класса Student для учета данных об учащихся.

public class Student {

 

  // 1. Закрытые поля (private) - инкапсуляция

    private String name;

    private int age;

    private double averageGrade; // Средний балл

 

  // 2. Конструктор 1 (значения по умолчанию) – без параметров

    public Student() {

        this.name = "Неизвестно";

        this.age = 18;

        this.averageGrade = 0.0;

    }

    // 3. Конструктор 2 (с параметрами)

    public Student(String name, int age, double averageGrade) {

        this.name = name;

       

 // Проверка корректности возраста

        if (age >= 14 && age <= 60) {

            this.age = age;

        } else {

            this.age = 18;

        }

        this.averageGrade = averageGrade;

    }

    // 4. Геттеры и Сеттеры (Методы доступа)

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public int getAge() {

        return age;

    }

    public void setAge(int age) {

        if (age >= 16 && age <= 60) {

            this.age = age;

        } else {

            System.out.println("Ошибка: Некорректный возраст");

        }

    }

    public double getAverageGrade() {

        return averageGrade;

    }

    public void setAverageGrade(double averageGrade) {

        if (averageGrade >= 0 && averageGrade <= 5) {

            this.averageGrade = averageGrade;

        } else {

            System.out.println("Ошибка: Оценка должна быть от 0 до 5");

        }

    }

    // 5. Метод вывода информации на консоль

    public void displayInfo() {

        System.out.println("Имя: " + name + ", Возраст: " + age + ", Средний балл: " + averageGrade);

    }

}

ИСПОЛЬЗОВАНИЕ КЛАССА В ГЛАВНОМ МЕТОДЕ (MAIN):

public class Main {

    public static void main(String[] args) {

        // Создание объекта через конструктор с параметрами

        Student student1 = new Student("Анна Иванова", 20, 4.8);

       

        // Создание объекта через конструктор по умолчанию и заполнение через сеттеры

        Student student2 = new Student();

        student2.setName("Петр Петров");

        student2.setAge(19);

        student2.setAverageGrade(3.2);

        // Вывод информации

        student1.displayInfo(); // Имя: Анна Иванова, Возраст: 20, Средний балл: 4.8

        student2.displayInfo(); // Имя: Петр Петров, Возраст: 19, Средний балл: 3.2

        }

    }

}

ЗАДАНИЕ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

Разработать собственный класс Book (книга) для предметной области «Библиотека»

Ход выполнения:

  1. Создайте новый проект в вашей среде разработки (IntelliJ IDEA, Eclipse и т.д.).
  2. Создайте новый класс с именем Book.
  3. Объявите поля (атрибуты). Сделайте их private. Примерный набор:
  • title (название) - String.
  • author (автор) - String.
  • year (год издания) - int.
  • price (цена) - double.
  1. Создайте конструктор по умолчанию (без параметров), который устанавливает значения по умолчанию (например, "Без названия", 0, 0.0).
  2. Создайте конструктор с параметрами, который принимает значения для всех полей.
  3. Реализуйте геттеры и сеттеры для каждого поля. В сеттере для year добавьте проверку: год должен быть больше 0 и не больше текущего года.
  4. Создайте метод printInfo(), который выводит всю информацию о книге в консоль с именованием полей.

  1. Перейдите в класс App (с методом main):
  • Создайте 3 объекта (экземпляра) класса Book. Два через конструктор с параметрами, один через конструктор по умолчанию (затем измените его поля через сеттеры).
  • Выведите на экран информацию о всех созданных книгах.

КОНТРОЛЬНЫЕ ВОПРОСЫ

  1. В чем разница между понятиями «Класс» и «Объект»? Приведите пример.
  2. Для чего нужен конструктор? Чем отличается конструктор от обычного метода?
  3. Что такое инкапсуляция и для чего мы используем поля private?
  4. Что будет, если убрать модификатор доступа private и сделать поля public? К чему это может привести?
  5. В чем отличие геттера (get) от сеттера (set)? Может ли у поля быть только геттер? Приведите пример, когда это нужно.

По теме: методические разработки, презентации и конспекты

Практическая работа в классе. Тема План и карта.

Практическая направленность в географии, при всех изменениях ( сокращением часов  в 6 классе) должна обязательно присутствовать на уроках. Тема План и Карта - самая важная в курсе землеведе...

Оценочные практические работы на 2012-2013 учебный год ПО ГЕОГРАФИИ Классическая линия

Оценочные практические работы на 2012-2013 учебный годПО ГЕОГРАФИИКлассическая линия 6 класс,  курс "ФИЗИЧЕСКАЯ ГЕОГРАФИЯ", оценочных практических работ -7: Введение. География как наук...

Педагогический опыт по теме "Практические работы, как средство активизации учебного процесса"

Практические работы, являясь одним из средств повышения активизации учебного процесса, способствуют решению задач, как обучения, так и нравственного развития личности учащихся, помогают преодолеть изв...

Работа с метеоприборами (проведение наблюдений и измерений, фиксация результатов, обработка результатов наблюдений). Практическая работа 6 класс (ФГОС)

Работа с метеоприборами (проведение наблюдений и измерений, фиксация результатов, обработка результатов наблюдений). Практическая работа 6 класс (ФГОС)АВТОРСКИЕ РАЗРАБОТКИ ПРАКТИЧЕСКИХ РАБОТ СОЗДАНЫ Н...

ПРАКТИЧЕСКАЯ РАБОТА 6 класс. Работа с метеоприборами (проведение наблюдений и измерений, фиксация результатов, обработка результатов наблюдений).

ПРАКТИЧЕСКАЯ РАБОТА 6 классРабота с метеоприборами (проведение наблюдений и измерений, фиксация результатов, обработка результатов наблюдений)....

8 класс. Практическая работа по классам соединений и рН

Практическая работа состоит из двух частей и презназначена для самостоятельной работы учащихся в группах или индивидуально. Первая часть содержит в себе теоретический материал (тема: pH), необходимый ...