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

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

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

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


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

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

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

- void draw();

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

- void draw();

выводом в консоль названия класс, например System.out.println("Rectangle")
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.07.2018, 14:10
Ответы с готовыми решениями:

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

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

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

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

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

Решение

В чем сложность?
Начнем с класса 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 4
а какой список интересует? на чём он должен быть реализован? как динамический массив или связанный список ?

Не по теме:

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

0
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
06.07.2018, 08:40 5
Цитата Сообщение от vvm28 Посмотреть сообщение
зря вам помогал

Не по теме:

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

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

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

Не по теме:

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

0
vvm28
06.07.2018, 22:20
  #9

Не по теме:


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

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

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

Не по теме:


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

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

0
Заблокирован
09.07.2018, 13:55  [ТС] 12
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
729 / 435 / 66
Регистрация: 22.12.2013
Сообщений: 2,292
Записей в блоге: 19
09.07.2018, 14:26 13
Лучший ответ Сообщение было отмечено Влад Морозин как решение

Решение

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

Добавлено через 3 минуты
нужно создать базовый класс чтобы list1 читал
0
729 / 435 / 66
Регистрация: 22.12.2013
Сообщений: 2,292
Записей в блоге: 19
09.07.2018, 14:39 15
PS. Ваш код выкладывайте с тегами, например java
Java
1
 Тут ваш код
. [ JAVA ] код пишете тут [ /JAVA ]
Форум - это кладезь, сокровищница знаний.
0
Заблокирован
09.07.2018, 14:41  [ТС] 16
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
729 / 435 / 66
Регистрация: 22.12.2013
Сообщений: 2,292
Записей в блоге: 19
09.07.2018, 14:49 17
Лучший ответ Сообщение было отмечено Влад Морозин как решение

Решение

Цитата Сообщение от Влад Морозин Посмотреть сообщение
нужно создать базовый класс чтобы 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  [ТС] 18
да так

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

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

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

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

Не по теме:

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

0
09.07.2018, 18:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.07.2018, 18:57
Помогаю со студенческими работами здесь

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

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

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

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

Прошу помощи
Прошу помощи! Что делать, что б БЕСПЛАТНО увеличить число реальных посетителей??? Кому интересно,...

Прошу помощи
Ситуация: ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru