Задачи на конструкторы java

Методы и конструкторы

Задание
Создать класс Task, обладающий следующими методами
установки и получения значений полей класса:
● Методы получения и установки заголовка задачи:
○ String getTitle()
○ void setTitle(String title), где title – заголовок (название) задачи
● Методы проверки статуса задачи (задачу будем считать активной, если оповещение о ней должно
происходить в заданное время, иначе – будем считать задачу неактивной):
○ boolean isActive()
○ void setActive(boolean active), где active – булев индикатор активности задачи
● Методы задания и получения времени оповещения о задаче:
○ void setTime(int time) — для единоразовой задачи, где time – время оповещения о задаче
○ void setTime(int start, int end, int repeat) — для повторяющейся задачи, где start – время
начала оповещения о задаче, end – время прекращения оповещения о задаче , repeat –
интервал времени, через который необходимо повторить оповещение о задаче
○ int getTime() — время начала оповещения (для повторяющейся задачи) или время
единственного оповещения (для единоразовой задачи)
○ int getStartTime() — время начала оповещения (для повторяющейся задачи) или время
единственного оповещения (для единоразовой задачи)
○ int getEndTime() — время окончания оповещения (для повторяющейся задачи) или время
единственного оповещения (для единоразовой задачи)
○ int getRepeatInterval() — интервал времени, через который необходимо повторить
оповещение о задаче (для повторяющейся задачи) или 0 (для единоразовой задачи)
○ boolean isRepeated() — информация о том, повторяется ли задача
● Метод, возвращающий описание данной задачи:
○ String toString() — возвращает строку со следующей информацией:
■ Task “” is inactive – для неактивных задач
■ Task “” at – для активных единоразовых задач
■ Task “” from to every seconds – для активных
повторяющихся задач
Пример: Task “Сделать зарядку для зрения” from 3600 to 28800 every 1800 seconds
● Метод, возвращающий время следующего оповещения, после указанного времени time (не включая
его):
○ int nextTimeAfter(int time) — если после указанного времени оповещений больше нет или
задача неактивна, то результат должен быть -1.
Используя описанные выше методы, создайте два конструктора класса Task так, чтобы новая задача при
создании считалась неактивной:
○ Task(String title, int time) – для единоразовой задачи
○ Task(String title, int start, int end, int repeat) – для повторяющейся задачи
Предусмотрите валидацию аргументов методов и конструкторов класса Task с помощью оповещения
пользователя о заданных невалидных аргументах методов или конструкторов

Читайте также:  Java file same directory

дошел до такого вида и ступор

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
public class Task { String title; public void setTitle(String title) { this.title = getTitle(); } public String getTitle() { return this.title; } boolean isActive; public void setActive(boolean active) { this.isActive = active; } public boolean isActive() { return isActive; } int getTime; int getStartTime; int getEndTime; int getRepeatInterval; boolean isRepeated; public void setTime(int time) { this.getTime = time; } public int getTime() { return getTime; } public void setTime(int start, int end, int repeat) { this.getStartTime = start; this.getEndTime = end; this.getRepeatInterval = repeat; } public int getStartTime() { return getStartTime; } public int getEndTime() { return getEndTime; } public int getRepeatInterval() { return getRepeatInterval; } public boolean isRepeated() { return isRepeated; } public String toString() { if (isActive) return "Title" + getTitle() + "from" + getStartTime() + "to" + getEndTime() + "every" + getRepeatInterval(); else return "Title" + getTitle() + "is inactive"; } public int nextTimeAfter(int time) { return -1; } public Task(String title, int time){ } public Task(String title, int start, int end, int repeat){ } }

Источник

ООП. Задания

Создать класс «Матрица». Класс должен иметь следующие переменные:

Класс должен иметь следующие методы:

  1. сложение с другой матрицей;
  2. умножение на число;
  3. вывод на печать;
  4. умножение матриц.

3. Читатели библиотеки

Определить класс Reader , хранящий такую информацию о пользователе библиотеки:

  1. ФИО,
  2. номер читательского билета,
  3. факультет,
  4. дата рождения,
  5. телефон.
  6. Методы takeBook() , returnBook() .
  7. Разработать программу, в которой создается массив объектов данного класса.
  8. Перегрузить методы takeBook() , returnBook() :
    — takeBook , который будет принимать количество взятых книг. Выводит на консоль сообщение «Петров В. В. взял 3 книги».
    — takeBook , который будет принимать переменное количество названий книг. Выводит на консоль сообщение «Петров В. В. взял книги: Приключения, Словарь, Энциклопедия».
    — takeBook , который будет принимать переменное количество объектов класса Book (создать новый класс, содержащий имя и автора книги). Выводит на консоль сообщение «Петров В. В. взял книги: Приключения, Словарь, Энциклопедия».
  9. Аналогичным образом перегрузить метод returnBook() . Выводит на консоль сообщение «Петров В. В. вернул книги: Приключения, Словарь, Энциклопедия». Или «Петров В. В. вернул 3 книги».
Читайте также:  Динамическая страница на PHP.

4. Рекурсивный вывод чисел

Даны два целых числа A и В. Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае. Использовать рекурсию.

5. Наследование Student, Aspirant

  1. Создайте пример наследования, реализуйте класс Student и класс Aspirant , аспирант отличается от студента наличием некой научной работы.
  2. Класс Student содержит переменные: String firstName , lastName , group . А также, double averageMark , содержащую среднюю оценку.
  3. Создать метод getScholarship() для класса Student , который возвращает сумму стипендии. Если средняя оценка студента равна 5, то сумма 2000 грн, иначе 1900. Переопределить этот метод в классе Aspirant . Если средняя оценка аспиранта равна 5, то сумма 2500 грн, иначе 2200.
  4. Создать массив типа Student , содержащий объекты класса Student и Aspirant . Вызвать метод getScholarship() для каждого элемента массива.

Смотрите решение задачи в видео 1 , видео 2 .

6. Автомобили

  1. Создать класс Car в пакете com.company.vehicles , Engine в пакете com.company.details и Driver в пакете com.company.professions .
  2. Класс Driver содержит поля — ФИО, стаж вождения.
  3. Класс Engine содержит поля — мощность, производитель.
  4. Класс Car содержит поля — марка автомобиля, класс автомобиля, вес, водитель типа Driver , мотор типа Engine . Методы start() , stop() , turnRight() , turnLeft() , которые выводят на печать: «Поехали», «Останавливаемся», «Поворот направо» или «Поворот налево». А также метод toString() , который выводит полную информацию об автомобиле, ее водителе и моторе.
  5. Создать производный от Car класс — Lorry (грузовик), характеризуемый также грузоподъемностью кузова.
  6. Создать производный от Car класс — SportCar , характеризуемый также предельной скоростью.
  7. Пусть класс Driver расширяет класс Person .

Иерархия классов фото

7. Животные

  1. Создать класс Animal и расширяющие его абстрактные классы Dog , Cat , Bear .
  2. Класс Animal содержит переменную name и абстрактные методы makeNoise , eat , getDescription . Метод makeNoise , например, может выводить на консоль звуки животных. Метод eat выводит на консоль список того, чем питается данное животное. Метод getDescription возвращает описание животного.
  3. Dog , Cat , Bear переопределяют методы makeNoise , eat , getDescription .
  4. Создайте класс Ветеринар , в котором определите метод void treatAnimal(Animal animal) . Пусть этот метод распечатывает name и описание пришедшего на прием животного.
  5. В методе main создайте массив типа Animal , в который запишите животных всех имеющихся у вас типов. В цикле отправляйте их на прием к ветеринару. В отдельном цикле вызовите методы makeNoise , eat для каждого животного.

8. Уровни доступа

private default protected public
1. Один и тот же класс
2. Подкласс, находящийся в том же пакете, что и супер класс
3. Класс из того же самого пакета, не являющийся подклассом.
4. Подкласс, находящийся в другом пакете.
5. Класс из другого пакета, не являющийся подклассом данного.

9. Фигуры

  1. Создайте супер класс Shape и его наследников Circle , Rectangle .
  2. Класс Shape содержит абстрактный метод draw() и переменную хранящую цвет.
  3. Классы Circle , Rectangle содержат координаты точек.
  4. Создать массив содержащий эти фигуры.
  5. В цикле нарисовать их (вызвать метод draw ).

10. Интернет магазин, часть 1

  1. Создать класс Товар , имеющий переменные имя , цена , рейтинг .
  2. Создать класс Категория , имеющий переменные имя и массив товаров . Создать несколько объектов класса Категория .
  3. Создать класс Basket , содержащий массив купленных товаров.
  4. Создать класс User , содержащий логин, пароль и объект класса Basket . Создать несколько объектов класса User .
  5. Вывести на консоль каталог продуктов.
  6. Вывести на консоль покупки посетителей магазина.
  • Процедурное и объектно-ориентированное программирование
  • Принципы ООП
  • Классы и объекты
  • Конструктор
  • Ключевое слово this
  • Перегрузка
  • Стек и куча
  • Передача объектов в методы
  • Java varargs
  • Рекурсия
  • Сборщик мусора и метод finalize
  • Наследование
  • Ключевое слово super
  • Модификаторы доступа
  • Геттеры и сеттеры
  • Переопределение методов
  • Абстрактные классы и методы
  • Ключевое слово final

Источник

ввыфвыфв. Практика 15. Конструкторы в Java

Единственный в мире Музей Смайликов

Самая яркая достопримечательность Крыма

Скачать 415.49 Kb.

Практика 15

Тема урока: Конструкторы в Java

Цель: Уметь работать конструкторами на языке программирование Java

Теоретические сведения

Конструкторы — это специальные методы, которые вызывается при создании объекта . Они «конструируют» новый объект определенного класса.

1. Вы создаете основное «тело» программы, прописывая метод main:

public static void main(String[] args)

2. Допустим, Вам нужен объект класса Cat. Класс Cat у вас уже есть, и выглядит он так:

public void setName(String a)

public void setColor(String color)

Вы пишете строку, которая должна создать объект класса Cat:

public static void main(String[] args)

>
3. В тот момент, когда программа приступает к созданию объекта cat1, она идет в class Cat:

Тут-то и появляется необходимость в конструкторах . Ведь в первую очередь Java ищет именно конструкторы , которые укажут, как именно создавать объект.

Как создается конструктор

Итак, как нам сделать этот самый конструктор?

Конструктор — это самый обычный метод, который имеет такое же название, как и класс . Вот пример:

Тем не менее, как Вы видите, этот конструктор ничего не требует . Таким образом, мы просто создали такой же, как и конструктор по умолчанию. Если захотим потребовать 1 параметр, запишем следующий код:

>
Теперь, невозможно будет создать объект класса Cat без того, чтобы указать его имя. Если мы хотим больше параметров, просто указываем больше элементов в скобках

public Dog(String x, String y, int z)

  1. Создать класс Person, который содержит:
    a) поля fullName, age.
    б) методы move() и talk(), в которых просто вывести на консоль сообщение -«Такой-то Person говорит».
    в) Добавьте два конструктора — Person() и Person(fullName, age).
    Создайте два объекта этого класса. Один объект инициализируется конструктором Person(), другой — Person(fullName, age).

Класс должен иметь следующие методы:
1) сложение с другой матрицей;
2) умножение на число;
3) вывод на печать;
4) умножение матриц — по желанию.

3. Даны два целых числа A и В. Выведите все числа от A до B включительно, в порядке возрастания, если A

Источник

Оцените статью