Заблокирован

Задача с наследованием, прошу помощи

05.07.2018, 14:10. Показов 1849. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разработать следующую структуру классов.


Создать класс MyList, который реализует функции списка

- добавить элемент в список
- получить кол-во элементов списка
- получить элемент списка на i-позиции

Элементом данного списка может быть как сам список (т.е класс MyList) так и
классы Rectangle, Circle, Square, которые наследуются от общего класс Shape
У Shape есть абстрактный метод

- void draw();

в классах Rectangle, Circle, Square переопределить метод

- void draw();

выводом в консоль названия класс, например System.out.println("Rectangle")
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.07.2018, 14:10
Ответы с готовыми решениями:

Задача на классы! В классах совсем не разбираюсь. Прошу помощи
Выберите 10 произвольных букв русского алфавита (введите с клавиатуры). Введите произвольное русское слово. С помощью ключа длиной от трех...

Товарищи прошу вашей помощи...(Задача связана с текстом)
Словом назовём всякую последовательность букв латинского алфавита длинны не более 20. Предложение - всякую последовательность не более...

Абрамов № 61, 85, 334(а), 374, 67(б,а). Прошу помочь, мне нужны эти задания для зачета прошу помощи.
Прошу помощи, скачайте файл Абрамов (пожалуйста), номер 61, 85, 334(а), 374, 67(а,б). Помочите чем сможете пожалуйста

39
37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 205
05.07.2018, 14:42
Цитата Сообщение от Влад Морозин Посмотреть сообщение
Элементом данного списка может быть как сам список (т.е класс MyList)
Это как? Рекурсивный список? Элементом MyList является сам MyList?
0
 Аватар для vvm28
772 / 540 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
05.07.2018, 20:32
Лучший ответ Сообщение было отмечено Влад Морозин как решение

Решение

В чем сложность?
Начнем с класса Shape:
Java
1
2
3
4
5
6
7
8
9
package mylist;
 
/**
 *
 * @author vvm
 */
public abstract class Shape {
    abstract void draw();
}
Далее Circle:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package mylist;
 
/**
 *
 * @author vvm
 */
public class Circle extends Shape{
 
    @Override
    void draw() {
        System.out.println("медод draw переопределенный в Circle");
    }
    
}

MyList вы можете сделать так, чтобы он содержал в себе список, либо переопределить абстрактные методы списка:
Кликните здесь для просмотра всего текста

Java
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package mylist;
 
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
 
/**
 *
 * @author vvm
 */
public class MyList implements List{
 
    @Override
    public int size() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public boolean isEmpty() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public boolean contains(Object o) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public Iterator iterator() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public Object[] toArray() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public Object[] toArray(Object[] arg0) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public boolean add(Object e) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public boolean remove(Object o) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public boolean containsAll(Collection c) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public boolean addAll(Collection c) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public boolean addAll(int index, Collection c) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public boolean removeAll(Collection c) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public boolean retainAll(Collection c) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public void clear() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public Object get(int index) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public Object set(int index, Object element) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public void add(int index, Object element) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public Object remove(int index) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public int indexOf(Object o) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public int lastIndexOf(Object o) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public ListIterator listIterator() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public ListIterator listIterator(int index) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
    @Override
    public List subList(int fromIndex, int toIndex) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
    
}


Но проще конечно сделать, чтобы сам класс MyList содержал в себе список. В общем делайте.

Добавлено через 20 минут
Вот я набросал примерно MyList:
Java
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
 
/*
  
 */
package mylist;
 
import java.util.LinkedList;
import java.util.List;
 
/**
 *
 * @author vvm
 */
public class MyList {
 
    private void addToList() {
        // реализовать
    }
 
    private int getNumElemets() {
        return // возвратить колличество элементов
    }
 
    private Object getElemant(int i) { // поставь LinkedList чтобы возвращалось
 
        return // возвращаем элемент i-тый
    }
 
    public static void main(String[] args) {
        List list = new LinkedList();
        // далее делаем Circle и запихиваем в list
    }
}
Добавлено через 1 час 11 минут
Влад Морозин, Что вам не понятно? Напишите сами хоть что-то. Иначе я буду думать, что зря вам помогал.
0
75 / 61 / 29
Регистрация: 20.04.2015
Сообщений: 415
06.07.2018, 05:36
а какой список интересует? на чём он должен быть реализован? как динамический массив или связанный список ?

Не по теме:

вы где то учитесь? зачем вы поступили на данное направление? чтобы потом придти и работать java программистом не зная про джава ничего? как вы ещё учитесь если основ не знаете?

0
 Аватар для Aviz__
2759 / 2066 / 509
Регистрация: 17.02.2014
Сообщений: 9,493
06.07.2018, 08:40
Цитата Сообщение от vvm28 Посмотреть сообщение
зря вам помогал

Не по теме:

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

0
Заблокирован
06.07.2018, 12:05  [ТС]
Спасибо просто я IOS developer и Python. Java только учусь и просто сравниваю коды

Добавлено через 3 минуты
Я только увидел ваш ответ и огромное вам спасибо)
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
06.07.2018, 13:41
Цитата Сообщение от Влад Морозин Посмотреть сообщение
Спасибо просто я IOS developer и Python
и не встречались с ооп ?
0
06.07.2018, 19:01

Не по теме:

Цитата Сообщение от neske Посмотреть сообщение
ооп
да какое ооп, питон коды сравнивает, не отвлекай )

0
06.07.2018, 22:20

Не по теме:


Цитата Сообщение от Влад Морозин Посмотреть сообщение
Я только увидел ваш ответ и огромное вам спасибо)
Ну я тоже увидел вашу благодатность. Благодарен за благодатность. Вернее я даже благодарности не увидел. Не то чтобы каких-то попыток что-то самому написать.

0
Заблокирован
09.07.2018, 11:28  [ТС]
как соединить эти два года?)

Добавлено через 54 секунды
vvm28, как соединить твои коды ты там всё 100% сделал бро?
0
09.07.2018, 13:51

Не по теме:


Кликните здесь для просмотра всего текста

Цитата Сообщение от Влад Морозин Посмотреть сообщение
как соединить эти два года?)
Не знаю как два года соединяются... элементарно, Ватсон: 1+1=2
Цитата Сообщение от Влад Морозин Посмотреть сообщение
ты там всё 100% сделал бро?
А что, должен был?

0
Заблокирован
09.07.2018, 13:55  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
MyList list1 = new MyList();
list1.add(new Reactangle());
list1.add(new Circle());
list1.add(new Triangle());
        
MyList list2 = new MyList();
list2.add(new Reactangle());
list2.add(new Circle());
list2.add(new Triangle());
list2.add(list1);

нужно сделать так чтобы выводило таким образом)
0
 Аватар для vvm28
772 / 540 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
09.07.2018, 14:26
Лучший ответ Сообщение было отмечено Влад Морозин как решение

Решение

Влад Морозин, ну вот же... уже я вижу у вас прогресс.
Только у вас в задании нужно создавать по 2 экземпляра MyList?
Я уже всё вам написал, что как сделать.
Из вашего задания вам осталось
- получить кол-во элементов списка
Реализуйте методы, которые я вам написал. Они как я понимаю должны что-то делать, что-то возвращать, что-то устанавливать.
Вот и напишите внутри код, который выполняется в методах.
0
Заблокирован
09.07.2018, 14:33  [ТС]
не подскажите какой код? я не могу догнать)

Добавлено через 3 минуты
нужно создать базовый класс чтобы list1 читал
0
 Аватар для vvm28
772 / 540 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
09.07.2018, 14:39
PS. Ваш код выкладывайте с тегами, например java
Java
1
 Тут ваш код
. [ JAVA ] код пишете тут [ /JAVA ]
Форум - это кладезь, сокровищница знаний.
0
Заблокирован
09.07.2018, 14:41  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class MyList {
 
        private void add(?) {
        }
        
        private int getSize() {
            return ;
        }
 
        private ? get(int i) {
            return 
        }
     
    }
надо его доработать?
0
 Аватар для vvm28
772 / 540 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
09.07.2018, 14:49
Лучший ответ Сообщение было отмечено Влад Морозин как решение

Решение

Цитата Сообщение от Влад Морозин Посмотреть сообщение
нужно создать базовый класс чтобы list1 читал
так я же писал как это сделать
Java
1
List list = new LinkedList();
Ну так еще можно :
Java
1
List list = new ArrayList();
Сделайте list полем вашего класса MyList

Цитата Сообщение от Влад Морозин Посмотреть сообщение
Создать класс MyList, который реализует функции списка
Или вам нужно реализовать методы существующего класса List и наследовать MyList от списка?
Тогда вам придется реализовывать абстрактные методы списка.
Уточните этот вопрос. Сделайте хотя-бы самый простой вариант с полем list и заполняйте его, извлекайте из него.
0
Заблокирован
09.07.2018, 14:53  [ТС]
да так

Добавлено через 1 минуту
чтобы лист 2 мог брать элементы лист 1
0
 Аватар для vvm28
772 / 540 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
09.07.2018, 15:16
Да. Все правильно. Только создайте поле
Java
1
private List list;
А в этих методах добавляйте элементы и извлекайте.

Добавлено через 33 секунды
Нет не правильно.

Добавлено через 4 минуты
Вам нужно почитать, что такое классы, что такое экземпляры класса. Методы класса. Конструктор класса. Переменные класса.
Как делаются гетеры-сеттеры.

Добавлено через 8 минут
Пробуйте. Пишите, тестируйте. Вы даже будете делать ошибки. Но такая практика пойдет на пользу.
2
 Аватар для Aviz__
2759 / 2066 / 509
Регистрация: 17.02.2014
Сообщений: 9,493
09.07.2018, 18:57
vvm28,

Не по теме:

ты молодчина, Бро! Образец человеколюбия, без условий)). У меня нет таких качеств.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.07.2018, 18:57
Помогаю со студенческими работами здесь

Задача с шаблонами и наследованием
Ребята, есть такая проблема.. Предположим, что у нас есть класс Image (не шаблонный). И есть класс ImageExt<T1,T2> (шаблонный),...

Прошу помощи
Помогите пожалуйста... необходимо написать прогу, не понимаю как Создайте 2 сценария (top_ten_on_cpu и top_ten_on_mem). Эти сценарии...

Прошу помощи
Здравствуйте, %username%. Прошу помочь с решением следующей задачи: Есть документ "Договор на поставку". В нём указана...

Прошу помощи
Здравствуйте. Сегодня мой сайт вылетел из поисков. Где искать причину. Подскажите пожалуйста

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru