|
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125
|
|
Наследование22.03.2015, 15:28. Показов 1338. Ответов 17
Метки нет (Все метки)
Подскажите, как показать, что один класс наследует другой? в с++ было вот так class client_library: public person, к примеру читатель наследует личность, какой аналог этой строке в джава?
В задании сказано, что класс сотрудник расширяет класс человек, как это реализовать?
0
|
|
| 22.03.2015, 15:28 | |
|
Ответы с готовыми решениями:
17
Наследование Наследование Наследование |
|
8 / 8 / 2
Регистрация: 12.09.2012
Сообщений: 32
|
||||||
| 22.03.2015, 16:19 | ||||||
|
Ключевое слово extends указывает что класс наследует другой класс, который указывается после этого слова:
1
|
||||||
|
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125
|
|
| 22.03.2015, 16:27 [ТС] | |
|
Огромное спасибо!!!!
0
|
|
|
8 / 8 / 2
Регистрация: 12.09.2012
Сообщений: 32
|
|
| 22.03.2015, 16:28 | |
|
Расширяет - это значит что класс сотрудник наследует члены родительского класса (переменные и методы).
Для проверки соответствия расширяемости одного другим используется конструкция IS-A (является): сотрудник является человеком? - логично! - значит сотрудник расширяет понятие (возможности), более широко раскрывает тему человека, придает ему более конкретный образ в виде сотрудника.
1
|
|
|
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125
|
||||||
| 22.03.2015, 16:39 [ТС] | ||||||
|
Возник еще один вопрос, как сделать так, чтобы, к примеру у человека есть метод scan(), где вводятся личные данные, у сотрудника тоже есть одноименный метод, но вводятся другие данные, как сделать так, чтобы они чередoвались? сначала личная информация потом информация сотрудника? в с++ это делается вот так:
0
|
||||||
|
8 / 8 / 2
Регистрация: 12.09.2012
Сообщений: 32
|
||||||
| 22.03.2015, 16:50 | ||||||
|
Все зависит от условия, но обычно для этого просто переопределяется нужный родительский метод, и в него добавляется своя реализация для класса сотрудник.
или например псевдокод:
1
|
||||||
|
284 / 264 / 173
Регистрация: 27.07.2014
Сообщений: 584
|
||||||
| 22.03.2015, 16:51 | ||||||
|
В начале переопределенного метода пишете
0
|
||||||
|
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125
|
||||||
| 22.03.2015, 16:54 [ТС] | ||||||
|
super это обьект?
Добавлено через 2 минуты Как я понял, эти два класса должны быть в разных файлах, ведь когда я оставляю так, пишет ошибку :
0
|
||||||
|
284 / 264 / 173
Регистрация: 27.07.2014
Сообщений: 584
|
|
| 22.03.2015, 16:59 | |
|
да в одном файле может быть только один public class
super - это ссылка на объект родительского класса
1
|
|
|
8 / 8 / 2
Регистрация: 12.09.2012
Сообщений: 32
|
|
| 22.03.2015, 17:00 | |
Сообщение было отмечено Спайдермэн как решение
Решение
это ключевое слово, super позволяет вызывать родительскую версию замененного метода из дочернего класса.
можно в одном файле, только уберите идентификатор public от public class vicar extends human{
1
|
|
|
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125
|
|
| 22.03.2015, 17:02 [ТС] | |
|
прошу прощения за столько вопросов, они возникают из ниоткуда) вроде бы все ясно, потом бац *_*
как связать все эти классы между собой? задача у меня стояла сделать вот такое наследование человек-сотрудник-подразделение-должность, есть 4 класса
0
|
|
|
8 / 8 / 2
Регистрация: 12.09.2012
Сообщений: 32
|
|
| 22.03.2015, 17:09 | |
Сообщение было отмечено Спайдермэн как решение
Решение
Главный класс Человек.
его наследует сотрудник. У сотрудника есть должность. Должность указывается полем класса сотрудник, для должности ненужно отдельный класс, это просто переменная в которую будет записана какая то константа при создание обьекта класса сотрудник. Подразделение может быть и переменной, и классом,если оно функциональное и имеет кучу методов и полей (в зависимости от условия короче). Но подразделение на IS-A а HAS-A, то есть если будем делать его классом, то подразделение это совершенно отдельный класс, который будет связан с классом сотрудник с помощью композиции, композиция это когда в одном классе создается экземпляр другого класса, в нашем случае у класса подразделение будет поле класса в виде экземляра класса сотрудник.
1
|
|
|
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125
|
|||
| 22.03.2015, 17:12 [ТС] | |||
|
Добавлено через 57 секунд
0
|
|||
|
8 / 8 / 2
Регистрация: 12.09.2012
Сообщений: 32
|
||
| 22.03.2015, 17:19 | ||
|
Значит ТЗ не верно, а будете грубить - будите сами проектировать.
1
|
||
|
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125
|
||
| 22.03.2015, 17:21 [ТС] | ||
|
главная часть программы main будет в классе человек, верно?
0
|
||
|
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
|
|
| 22.03.2015, 17:24 | |
|
неблагодарное занятие помогать без написанного задания, а то сначала одно, потом другое, а потом выясняется что делать надо было вообще третье
0
|
|
|
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125
|
||
| 22.03.2015, 17:31 [ТС] | ||
|
Особенно от вас много помощи)
Добавлено через 1 минуту
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 23.03.2015, 01:42 | ||
|
Спайдермэн, не выкладывайте задание по частям иначе рискуете получить неверные ответы.
0
|
||
| 23.03.2015, 01:42 | |
|
Помогаю со студенческими работами здесь
18
Наследование
Наследование Наследование Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|