Das ist in Java, VB.NET, C# und C++ nicht anders.
Die Idee von overwriding ist ja gerade, dass genau die Methode des Runtime-Types aufgerufen wird.
In Java kann man Methoden von Super-Klassen mit super.<methodenName> aufrufen.
Die Konstruktoren werden demgegenüber auch in Java, VB.NET, C# und vermutlich auch C++ der Reihe nach aufgerufen. Und zwar angefangen beim Konstruktor der obersten Super-Klasse. Das ist konzeptionell korrekt, weil ja Mitarbeiter is a Person und dann muss eben auch der Konstruktor von Person initialisiert werden, wenn du einen Mitarbeiter willst. Mit den Methoden ist das aber was anderes. Meist will man da gar nicht, dass die Methoden der Super-Klasse aufgerufen werden. Konstruktoren sind eben was anderes als Methoden.
Objektorientiertes JavaScript kennt übrigens überhaupt keine Vererbung, wobei es da Tricks gibt, das zu simmulieren, aber das nur am Rande.
Und nun wirds völlig Offtopic und bezieh das jetzt bitte nicht auf dich:
Ich glaub, dass das von Bob Balaban oder einem anderen Entwickler der Sprache LotusScript erstellten OO-Features von LotusScript falsch eingesetzt werden. Irgendwie fehlt da ein bischen eine Unterscheidung zwischen Domain Driven Design (das heisst ein komplettes OO-Modell zu erstellen) und einfach die netten Features des Schlüsselwortes "class" zu nutzen.
Ich nutz z.B. eine Menge das Konstrukt class, seh das aber oft nicht als Objektmodell sondern als eine Art Skript-Library, die einen Satz von Funktionen und Variablen hat, die für die Objekte der Klasse global sind, aber ausserhalb nicht gesehen werden können.
Der Zweck ist nicht die "reale Welt abzubilden", weil das nicht geht. Es geht vielmehr darum Duplizierung von Code zu vermeiden.
Ich hab hier z.B. 4 Buttons in einer per store-form-in-Document an eine Usermail geschickt werden. Der User erzeugt darüber eine Mail, die an eine Mail-In-DB geht. Es werden spezielle Felder in der Mail gesetzt, dafür Werte aus der einkommenden Mail ausgelesen, in manchen Fällen gibt der User was in den Prompt-Boxen ein. In 2 Fällen wird die Mail direkt aus dem Button versendet, in anderen Fällen öffnet sich ein neues UIDoc per Uiws.editDocument mit ein paar Backend-Feldern, die im Code des Buttons da reingesetzt wurden. Und gerade für solche typischen Domino-Fälle kann man imho mit einer Klasse viel einfacheren und übersichtlicheren Code schreiben.
Anstatt also das Thema OO mit dem Anspruch zu begegnen, nun die Welt zu modellieren, könnte man sich vielleicht auch überlegen, einfach mal für typische Aufgaben eine Klasse zu schreiben. Mit dem bescheidenen Ziel übersichtlichen Code zu schreiben, in dem NICHTS dupliziert ist. Anfänger werden da Fehler machen. Aber imho lohnt es sich. Und wenn man da ein bischen Sicherheit gewinnt, die Nachteile kennenlernt, etc.. Dann kann man versuchen Domains in Klassen zu modellieren. Das ist aber ziemlich schwierig.
Das mehr als eigene späte Erkenntnis und Anregung und nicht als rant.
Gruß Axel