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

Наследование. Задача с собакой

12.04.2017, 01:05. Показов 3250. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Вот код:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Animal {
 
    public int age;
    public String name;
 
    public Animal(int age, String name) {
        this.age = age;
        this.name = name;
    }
 
    public Animal() {
    }
 
    public void show() {
        System.out.println();
        System.out.print(age + " " + name);
    }
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Main {
 
    public static void main(String[] args) {
        Animal an = new Animal();
        an.show();
        Animal an2 = new Animal();
        an2.show();
        
        Dog dog = new Dog(1, "Alexa", 34);
        
        dog.age = 678;
        dog.name = "Alexa";
        dog.countBones = 23;
        dog.show();
 
    }
 
}
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
public abstract class Dog extends Animal{
    
    public int countBones;
    public static final int MAX_MAX = 453;
 
    public Dog(int age, String name, int countBones) {
        super(age, name);
        this.countBones = countBones;
    }
    
    public Dog() {
        
    }
 
    public void show(){
        super.show();
        System.out.print(" " + countBones);
    }
    
    public final void meth(){
        
    }
    
    public abstract void meth2();
 
}
Скажите пожалуйста, почему код не компилируется и выдает ошибку здесь Dog dog = new Dog(1, "Alexa", 34);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2017, 01:05
Ответы с готовыми решениями:

Градиент с зарытой собакой
Привет всем. Есть пример градиента http://rghost.ru/29463581 в котором градиент ведёт себя неправильно. Центр смещается вправо и это...

Скорость передачи информации собакой
Представьте, что вы научили свою собаку, сенбернара Берни, приносить вам коробку с тремя 8-миллиметровыми магнитными лентами вместо бутылки...

Задача с классами (наследование)
С помощью механизма композиции создать классы, поля данных которых являются объектами других классов. Изобразить объекты этих классов....

11
64 / 64 / 26
Регистрация: 07.01.2016
Сообщений: 374
12.04.2017, 02:21
RidMan, 1 Из абстрактного класса нельзя создать объект. 2 Собака что абстрактна? Может наоборот животное абстрактно?)
1
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
12.04.2017, 02:28
RidMan, У вас абстрактный класс Дог, и вы не можете создавать экземпляр абстрактного класса. уберите это описание и соотв. метод.

Добавлено через 1 минуту
DavidKarchikyan, Пока я писал ответа еще не было
1
2 / 2 / 0
Регистрация: 12.07.2016
Сообщений: 47
13.04.2017, 20:25  [ТС]
Спасибо ребята. Вот что у меня получилось:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Animal {
 
    public int age = 3;
    public String name = "Элечка";
 
    public Animal(int age, String name) {
        this.age = age;
        this.name = name;
    }
 
    public Animal() {
    }
 
    public void show() {
        System.out.println("Возраст: "+age);
        System.out.println("Имя: "+ name);
    }
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Dog extends Animal{
    
    public int countBones;
    public static final int MAX_MAX = 453;
 
    public Dog(int age, String name, int countBones) {
        super(age, name);
        this.countBones = countBones;
    }
    
    public Dog() {
        
    }
 
    public void show(){
        super.show();
        System.out.print("Количество косточек: " + countBones);
    }
 
}
Java
1
2
3
4
5
6
7
public class Main {
 
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.show();
    }
}
Помогите дальше разобраться.

//Измените в классе Животные все поля на private, внесите изменения в методы
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
13.04.2017, 20:37
ну так измени поля на private, че не понятно?
1
2 / 2 / 0
Регистрация: 12.07.2016
Сообщений: 47
13.04.2017, 20:42  [ТС]
xoraxax, хорошо., поменял...
public class Animal { тоже менять на private?
И вопрос, как дальше в Dog исправлять код. использовать get. return?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
13.04.2017, 21:20
про это в любой книжке написано вероятно где-то в первых главах.
Или тут например. https://docs.oracle.com/javase... index.html
1
2 / 2 / 0
Регистрация: 12.07.2016
Сообщений: 47
13.04.2017, 21:53  [ТС]
xoraxax, хорошо, но я все равно не получил ответ на свой вопрос. но в любом случае спасибо.

Добавлено через 24 минуты
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
public class Animal {
 
    private int age = 3;
    public int getAge() {
        return age;
    }
    private String name = "Элечка";
    public String getName() {
        return name;
    }
    private Animal(int age, String name) {
        this.age = age;
        this.name = name;
    }
 
    private Animal() {
    }
 
    public void show() {
        System.out.println("Возраст: "+age);
        System.out.println("Имя: "+ name);
    }
 
}
Правильно?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
13.04.2017, 23:12
запусти проверь
1
2 / 2 / 0
Регистрация: 12.07.2016
Сообщений: 47
14.04.2017, 00:23  [ТС]
xoraxax, не особо) но в любом случае challenge accepted

читаю щас книгу Java 8: руководство для начинающих, 6 издание. 7 раздел:Наследование И тупо печатаю там примеры. Вроде что-то в голове кумекается.. через 1-2 часа отпишу итог.

Добавлено через 33 минуты
Ну типа так?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Animal {
 
    private int age = 3;
    private String name = "Элечка";
    
    public int getAge() {return age;}
    public String getName() {return name;}
 
    public void show() {
        System.out.println("Возраст: "+age);
        System.out.println("Имя: "+ name);
    }
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Dog extends Animal{
    
    public int countBones = 43;
    public static final int MAX_MAX = 453;
 
    public Dog(int age, String name, int countBones) {
        this.countBones = countBones;
    }
    
    public Dog() {
    }
 
    public void show(){
        
        super.show();
        System.out.print("Количество косточек: " + countBones);
    }
 
}
Java
1
2
3
4
5
6
7
public class Main {
 
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.show();
    }
}
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
14.04.2017, 08:39
RidMan, вам нужно больше обдумывать ваш код. Если пока это идет тяжело, то попробуйте сами себе позадавать критических вопросов. А если не сможете на них сами себе ответ, то идите в книжку и смотрите как отвечает код там на аналогичные вопросы.

Разберем.
1) почему в классе Animal у вас оба поля приватные? зачем?
2) почему вы их заполняете не в конструкторе? вы хотите чтобы все животные были одинаковыми?
3) собака вроде существо понятное, а животные могут быть разные.. если животное неконкретно, то может его стоит сделать абстрактным классом?

Если вы сможете правильно себе ответить на эти вопросы, то у вас выйдет хорошо.
0
 Аватар для Aviz__
2755 / 2062 / 509
Регистрация: 17.02.2014
Сообщений: 9,491
14.04.2017, 11:22
Цитата Сообщение от RidMan Посмотреть сообщение
И тупо печатаю там примеры
Этого делать никак не следует!
Многие вопросы отпадут сами собой, если вы попытаетесь сделать пошаговую трассировку программы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.04.2017, 11:22
Помогаю со студенческими работами здесь

Задача на числовое наследование
Для этой задачи использовалась картинка в архиве. Вот код который у меня получился, но я не знаю что надо написать в main чтобы код...

Тема: Наследование. Задача
В программе выполнены следующие описания: class A { protected: int a; public: A(int ax) {a=ax;} void print () {cout << a...

Задача на наследование по Java
Здравствуйте. Помогите пожалуйста решить вот такую задачу. Даны 2 класса Array.java(родительский класс) и Polynom.java(наследуемый класс)....

Задача на связность объектов и наследование
Добрый вечер. Помогите с задачей. Нужно написать классы Товар - Категория - Заказ - Покупатель, максимально используя наследование. У...

Задача на наследование. Разрешение доступа
Здравствуйте, Задача: Клиент банка хочет взять кредит, он вводит запрашиваемую сумму, а банк должен разрешить или запретить транзакцию. ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru