Правильно ли я понял как работает вызов метода из ссылки типа родительского класса? Когда вызывается метод из ссылки типа родительского класса, то компилятор проверяет сначала описан ли такой метод в типе ссылочной переменной, а затем проверяет есть ли такой метод в объекте на который ссылается переменная. Если в объекте метод переопределен, то вызывается именно этот метод, если нет, то метод описанный в типе ссылочной переменной. Верно?
Да, ваше понимание верно. Когда вызывается метод из ссылки типа родительского класса, компилятор сначала проверит, есть ли такой метод в родительском классе. Если метод не переопределен в наследнике, то будет вызван метод из родительского класса. Если же метод был переопределен в наследнике, то будет вызван метод из наследника. Важно помнить, что при вызове метода из объекта всегда учитывается тип объекта, на который указывает ссылка, независимо от типа ссылочной переменной.
Да, ваше понимание верно. Когда вызывается метод из ссылки типа родительского класса, компилятор сначала проверит, есть ли такой метод в родительском классе. Если метод не переопределен в наследнике, то будет вызван метод из родительского класса. Если же метод был переопределен в наследнике, то будет вызван метод из наследника. Важно помнить, что при вызове метода из объекта всегда учитывается тип объекта, на который указывает ссылка, независимо от типа ссылочной переменной.