С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Заблокирован

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

05.07.2018, 14:10. Показов 1753. Ответов 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
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,497
Записей в блоге: 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__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
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
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,497
Записей в блоге: 26
09.07.2018, 14:26
Лучший ответ Сообщение было отмечено Влад Морозин как решение

Решение

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

Добавлено через 3 минуты
нужно создать базовый класс чтобы list1 читал
0
 Аватар для vvm28
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,497
Записей в блоге: 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
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,497
Записей в блоге: 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
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,497
Записей в блоге: 26
09.07.2018, 15:16
Да. Все правильно. Только создайте поле
Java
1
private List list;
А в этих методах добавляйте элементы и извлекайте.

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

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

Добавлено через 8 минут
Пробуйте. Пишите, тестируйте. Вы даже будете делать ошибки. Но такая практика пойдет на пользу.
2
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
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
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru