2013-08-09 2 views
0

может кто-нибудь объяснить, как вызов унаследованной функции выполняется в производном классе.
говорят, у меня есть функция в базовом классемеханизм вызова унаследованных функций

class Base 
{ 
    void func() { ... } 
} 

и этот класс наследуется любым другим классом

class Derived extends Base 
{ ... } 

Теперь предположим, я звоню FUNC() с объекта производного класса, как этот

Derived obj = new Derived(); 
obj.func(); 

Теперь, мой вопрос здесь в том, где этот func() есть, который вызывается.
- это определение функции для func() копируется из базового класса в класс Derived при наследовании и вызывается оттуда или этот вызов функции func() передается непосредственно в класс Base.

ответ

2

Здесь будет называться базовая версия функции

2

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

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

Смежные вопросы