Инженер - программист МАЗ
293 / 64 / 2
Регистрация: 05.12.2011
Сообщений: 392
Записей в блоге: 3
1

Создать объект класса котенок

07.11.2014, 18:33. Показов 4006. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать объект класса Котёнок, используя классы Животное, Кошка. Методы: вывести на консоль имя, подать голос, рожать потомство (создавать себе подобных).

Создать приложение, удовлетворяющее требованиям, приведенным в задании. Аргументировать принадлежность классу каждого создаваемого метода и корректно переопределить для каждого класса методы equals(), hashCode(), toString().
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2014, 18:33
Ответы с готовыми решениями:

Создать объект класса, зная имя класса, а параметры получать из формы
У меня есть форма, на которой есть Combobox, в котором можно выбрать класс. При выборе одно из...

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

Создать объект класса Автомобиль, используя класс Колесо
Ребята помогите решить задачу Создать объект класса Автомобиль, используя класс Колесо. Методы:...

Наследование. Создать объект класса Планета, используя класс Материк
Задание: Создать приложение, удовлетворяющее требованиям, приведенным в задании. Аргументировать...

10
870 / 720 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
07.11.2014, 19:21 2
Лучший ответ Сообщение было отмечено zloy_developer как решение

Решение

zloy_developer,
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
    interface Mother {
        <T> T giveBirth();
    }
 
    abstract public class Animal {
        protected String name;
 
        abstract void say();
 
        public void printName() {
            System.out.printf("My name is %s\n", name);
        }
    }
 
    public class Cat extends Animal implements Mother {
 
        public Cat() {
            name = "Cat";
        }
 
        @Override
        void say() {
            System.out.printf("Meow\n");
        }
 
        public Kitten giveBirth() {
            return new Kitten();
        }
    }
 
    public class Kitten extends Animal {
        public Kitten() {
            name = "Kitten";
        }
 
        @Override
        void say() {
            System.out.printf("Meow\n");
        }
 
    }
1
Инженер - программист МАЗ
293 / 64 / 2
Регистрация: 05.12.2011
Сообщений: 392
Записей в блоге: 3
07.11.2014, 19:38  [ТС] 3
Спасибо большое!
0
870 / 720 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
07.11.2014, 19:43 4
zloy_developer,
Извиняюсь, небольшая ошибочка в коде, только сейчас заметил
Java
1
2
3
interface Mother {
    <T extends Animal> Kitten giveBirth();
}
и

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Cat extends Animal implements Mother {
 
    public Cat() {
        name = "Cat";
    }
 
    @Override
    void say() {
        System.out.printf("Meow\n");
    }
 
    @Override
    public <T extends Animal> Kitten giveBirth() {
        return new Kitten();
    }
}
0
Инженер - программист МАЗ
293 / 64 / 2
Регистрация: 05.12.2011
Сообщений: 392
Записей в блоге: 3
07.11.2014, 19:52  [ТС] 5
XRoy, не запускается какой основной класс
?
0
870 / 720 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
07.11.2014, 19:56 6
zloy_developer,
Полный код

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
package com.company;
 
public class Main {
 
    public static void main(String[] args) {
        Cat cat = new Cat();
        Kitten kitten = cat.giveBirth();
        System.out.println(kitten);
    }
}
 
interface Mother {
    <T extends Animal> Kitten giveBirth();
}
 
abstract class Animal {
    protected String name;
 
    abstract void say();
 
    public void printName() {
        System.out.printf("My name is %s\n", name);
    }
}
 
class Cat extends Animal implements Mother {
 
    public Cat() {
        name = "Cat";
    }
 
    @Override
    void say() {
        System.out.printf("Meow\n");
    }
 
    @Override
    public <T extends Animal> Kitten giveBirth() {
        return new Kitten();
    }
}
 
class Kitten extends Animal {
    public Kitten() {
        name = "Kitten";
    }
 
    @Override
    void say() {
        System.out.printf("Meow\n");
    }
 
}
0
Эксперт Java
4090 / 3824 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
07.11.2014, 20:00 7
XRoy, зачем вам generic-параметр T у метода giveBirth, если они никак не используется?

Насколько я понял вашу идею, правильней будет писать так:
Java
1
2
3
interface Mother<T extends Animal> {
    T giveBirth();
}
1
Инженер - программист МАЗ
293 / 64 / 2
Регистрация: 05.12.2011
Сообщений: 392
Записей в блоге: 3
07.11.2014, 20:06  [ТС] 8
XRoy, Kitten@15db9742 вот что выводит!
0
870 / 720 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
07.11.2014, 23:07 9
zloy_developer,
Ну, а что вы хотели?
Переопределите toString() для Kitten и будет выводить что вам надо

turbanoff,
Да, вы правы, давно не писал на Java
0
Инженер - программист МАЗ
293 / 64 / 2
Регистрация: 05.12.2011
Сообщений: 392
Записей в блоге: 3
08.11.2014, 10:56  [ТС] 10
Подскажите как переопределение происходит
0
Эксперт Java
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
08.11.2014, 13:19 11
zloy_developer, у вас такие пафосные подписи под постами и под именем... Неужели вам сложно посмотреть в гугле такие элементарные вещи?
1
08.11.2014, 13:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2014, 13:19
Помогаю со студенческими работами здесь

Создать класс с двумя отдельными счетчиками и объект этого класса
Создать класс с двумя отдельными счетчиками и объект этого класса. Создать несколько одинаковых...

Создать объект класса Текст, используя классы Предложение, Слово
Добрый день форумчане,у меня есть код,но мне нужно из него вырезать &quot;main&quot; и сделать так что бы он...

Создать объект класса Простая дробь, используя класс Число
Создать объект класса Простая дробь, используя класс Число. Методы: вывод на экран, сложение,...

Создать объект класса Текст, используя классы Предложение, Слово
Всем привет! :help:Помогите, пожалуйста, понять условие задачи.:confusion: Создать объект класса...

Создать объект, зная только имя класса и параметры, передаваемые конструктору
Сабж. Допустим дано String className=&quot;PC&quot;; int p1=1; int p2=2; int p3=3; Как создать объект,...

Создать объект класса Планета, используя классы Материк, Океан, Остров
Создать объект класса Планета, используя классы Материк, Океан, Остров. Методы: вывести на консоль...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru