Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наследование,..... и не только.... 
:(
    Опции темы
Samotnik
Дата 18.8.2007, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



Добрый день!
Значит так, прочитал в разделе "Наследование" главу "Переменная суперкласса может ссылаться на обьект подкласса"
Хотелось бы узнать ПРОСТЫМ  обьяснением   ЧТО ЭТО ТАКОЕ  smile  ?!!?!?!?
PM MAIL   Вверх
ekr
Дата 18.8.2007, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


...и это пройдет...
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 6.5.2007
Где: Moscow, RU

Репутация: 3
Всего: 19



Объектная ссылка типа базового класса указывает на объект класса-наследника.
Код

Object o = new String();

То же справедливо и для интерфейсов:
Код

MyInterface o = new ClassThatImplementsMyInterfce();


К слову, эта тема уже поднималась на форуме.


--------------------
и это пройдет....

http://ekrs.blogspot.com
PM WWW   Вверх
Samotnik
Дата 18.8.2007, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



А примерчик маленький  можно ???   smile 

Цитата(ekr @  18.8.2007,  01:42 Найти цитируемый пост)
К слову, эта тема уже поднималась на форуме.

К слову, сматрел, .... не помогло........
 smile    
PM MAIL   Вверх
ekr
Дата 18.8.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


...и это пройдет...
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 6.5.2007
Где: Moscow, RU

Репутация: 3
Всего: 19



примерчик уже привел:
Цитата(ekr @  18.8.2007,  01:42 Найти цитируемый пост)
Object o = new String();

)))

Объектная ссылка o типа класса Object указывает на экземпляр класса String, который IS-A Object


--------------------
и это пройдет....

http://ekrs.blogspot.com
PM WWW   Вверх
priam220
Дата 17.10.2010, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010

Репутация: 7
Всего: 8



отдельной темы не хочется создавать, решил посадить здесь. Объясните, пожалуйста поведение вот этого кода:
Код

public class A{
    private String runNow(){
        return "High";
    }
    static class B extends A{
        public String runNow(){
            return "Low";
        }
    }
    public static void main (String args[]){
        A[] a = new B[]{new B(),new C()};
        for (A aa:a)
            System.out.print(aa.runNow()+" ");
    }
}    
class C extends A.B{
    public String runNow(){
        return "Out";
    }
}

Заранее спасибо smile.

Это сообщение отредактировал(а) priam220 - 17.10.2010, 23:44
PM MAIL   Вверх
afon
Дата 18.10.2010, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 5.4.2008
Где: Украина, Киев

Репутация: нет
Всего: 1



Скомили, запустил -клас! хитрожопый пример smile мне понравился. 
Но я тоже не понимаю как это работает. 
PM MAIL WWW   Вверх
techmax
Дата 18.10.2010, 03:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.9.2007
Где: Красноярск

Репутация: 2
Всего: 2



Код

public class A{
 private String runNow(){
        return "High";
    }

метод то private, и значит в наследниках не переопределяется
PM MAIL Skype   Вверх
priam220
Дата 18.10.2010, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010

Репутация: 7
Всего: 8



Ни объект B ни C не содержат (я так думаЛ) приватный метод runNow от A. Собственно потому, что он приватный. Но тем не менее ссылка успешно кудато ссылается (я об этом: A[] a = new B[]{new B(),new C()}; и aa.runNow()). Теперь я думаю, что и B и С содержат этот метод. Но он становится доступным только в определенной зоне видимости (внутри класса А). 
В любом случае хотелось бы услышать почему все так а не иначе... smile 
PM MAIL   Вверх
danilka
Дата 22.10.2010, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 15.1.2010

Репутация: нет
Всего: нет



Цитата(priam220 @  18.10.2010,  16:28 Найти цитируемый пост)
Ни объект B ни C не содержат (я так думаЛ) приватный метод runNow от A. Собственно потому, что он приватный. Но тем не менее ссылка успешно кудато ссылается (я об этом: A[] a = new B[]{new B(),new C()}; и aa.runNow()). Теперь я думаю, что и B и С содержат этот метод. Но он становится доступным только в определенной зоне видимости (внутри класса А). 


Я думаю все именно так. Модификаторы ничего не говорят о наличии методов в потомках, но говорят об их видимости. Раз класс наследник, то он имеет все что имеет родитель, а вот пользоваться этим может только в контексте модификатора.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0998 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.