Wirtualna czy nie?

0

Jak wiadomo wszystkie metody w Javie sa wirtualne. C++ jak rowniez Delphi oferuja takze zwykle metody niewirtualne (Delphi takze dynamic, ale mozna je potraktowac jako virtual).
A teraz pytanie. W jakich sytuacjach niezbedne jest zastosowanie metod niewirtualnych lub skorzystanie z nich bardzo mocno komplikuje zadanie? W Javie jakos sobie z tym radza, wiec jestem ciekaw, czy gdyby usunieto z tych jezykow taka mozliwosc, to mocno byscie nad tym plakali :)

0

Wirtualne za długo się odpalają :)

0

za to w Javie jest też słowo final, które zamyka możliwość dziedziczenia po obiekcie lub zdejmuje możliwość podmiany danej metody/pola. na przykład cały String jest final.

0

Dlugo? Raczej nie jest to zbyt duza roznica. Trzeba po prostu odpalic metode najpierw pobierajac jej adres z vmt. Nie jest to zbyt wielki koszt.

Co do final, to ono mi sie <ort>niepodoba</ort>. Nie lubie byc ograniczany :P
Chodzi mi raczej o elastycznosc. Czego nie mozna zrobic za pomoca wirtualnych, a niewirtualne umozliwiaja.

0

to nie jest tak, że metody statyczne mają coś więcej. Właśnie o to chodzi, że mają mniej - nie można ich nadpisać - i to o to chodzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1