Mikä on avainsanan virtual merkitys?
Virtual
virtuaali
4425
0Äänestä
Muut lukivat myös
Luetuimmat keskustelut
- Onko valtionvelka pelkkä vitsi vai maksetaanko se joskus?!Miksi elämme yli varojen vuodesta 2008 alkaen ja maksaako sitä valtionvelkaa koskaan enää kukaan kokonaan pois? https://www.valtionvelka.fi/tilastot/tilastoja_valtionvelasta/ Yksityishenkilöhän menisi vain ulosottoon ja…
- Kyllä mulla oli tunteita sua kohtaan,mutta voit syyttää ainoastaan itseäsi, että en tehnyt mitään asian eteen. Se on ihan turhaa sinun miettiä, että miksi.
- Millaisen suhteenOlisit halunnut kaivattusi kanssa
- Moikka!!!!!!!!!Miten sun päivä on mennyt? Mä olen miettinyt sua paljon❤️
- Suomi24:n uudistuksia 2026Tervehdys ja hyvää syksyä keskustelijat! 🍂 Suomi24:ää on uudistettu vaiheittain viime kuukausien aikana. Sivuston ulkoasua on selkeytetty ja yhdenmukaistettu. Samalla on tehty kaivattuja korjauksia erityisesti rekister…
- Vasemmistoliiton kannatus kertoo kuinka osa naisista on tyhmiäeli heikkoälyisiä. Vasliittohan on nykyään naisten puolue, suurin osa kannattajista on naisia. Vuoden 2023 eduskuntavaalien tuloksena naisten osuus oli kaikista puolueista suhteellisesti korkein juuri Vasemmistoliitolla…
- Tikusta asiaaMistä ihmeestä minä keksin sulle edes jotensakin järkevää asiaa parn lauseen verran... anna joku idea että kehtaan lähestyä. -töistä tuttu mies
- Mies, sulla on paljon ihailijoitaTuntuu, että täälläkin iso liuta sinua kaipaamassa.
- Nico Lingman on nousemassa suomalaisjulkkisten kaartiinNico Lingman, 34, on podcastaaja, somevaikuttaja ja entinen Puolustusvoimien upseeri. Lingman on astunut isojen suomalaisten julkkisten joukkoon, sillä hän on mukana uudella Tanssii Tähtien Kanssa -kaudella. Sekä tänään…
- Tekisin SINUT ONNELLISEKSI NAINENMutta EHKÄ onni EI OLE mitä HALUAT.
- Muutoksen tuuletKoetko, että sinun olisi pitänyt/pitäisi muuttaa itseäsi/elämäntyyliäsi jotenkin, "kelvataksesi" kaivatullesi? Koetko itse, että haluaisit olla "parempi" ihminen kaivattuasi varten? Oletko mahdollisesti muuttunut/muutta…
- Kaipaisin sinua lähelleni nyt niin paljonEnemmän kuin koskaan. 😞
- Hyvää yötä MIkävä on vaikkei kai saisi olla😔❤️ -joku-
- Do diih.. palsta saanut roimasti uudistuksia .. mielipiteitä..?Eilen näin väläyksen tästä uudesta ulkoasusta ja nyt kummastelenkin toimintaa. Jotakin hyvää ja jotakin huonoa. Pistäkää tähän huomioita uudistuksesta. Sen huomasin että aloituksen otsikon kirjainmäärä on kasvanut huoma…
- Anonyymipalstan ongelmaJoskus tämä palsta on kyllä melkoinen ihmiskoe. Yksi ihminen yrittää saada yhteyttä yhteen tiettyyn henkilöön ja antaa tunnisteitakin, mutta hetken päästä ketjussa on jo puoli Suomea vastaamassa kuin viesti olisi tarkoi…
- Halisin ja pusisinSinut puhki mies. Kaikki tiedostamattomat surut, vihat ja katkeruudet halisin pois. 🫂
- KORPIGYMI KONKURSIIN!Miten tämä kaikentietävä jumppatyttö saa kaikki puulaakinsa konkurssiin? Kovaa meteliä piti ja Kuusamoa myöten kävi hämmentämässä, mutta lähtöpassit antoi Kuusamolaiset. Tyhjät tynnyrit kolisoo..sanottiin ennen vanhaan.…
- vilkaisin kuhmolaisen etusivuaKuhmoon on saatu taas katu päällystetyksi,mutta sitä ei saa ajaa? onko senkin kadunvarressa joku isopalkkainen joka saa oman rauhoitetun kadun,laittakaa ihmeessä ne puomit kumpaankin päähän niin katu kestää kauan,oisiha…
- Palasin takaisin LieksaanOlen maailmaa nähnyt kosmopoliitti, joka on nyt asettunut Lieksaan asumaan, koska minulla on tärkeä tehtävä täällä. Siihen olen kuitenkin kiinnittänyt huomiota, että täällä naiset ovat ihmeen läskilorttoja. Nuorillakin …
- Harmittaa vain todetaEttä elämä on ajanut meidän ohi. Se on totuus. Me oltaisiin oltu hyvä pari nuorempana, mutta ei enää. Olen liian vanha. Naiselta.
Vastaukset 4
Vanhimmat
senkun lisäät vaikkapa formin määrittelyyn:
procedure test2; virtual;
laitat kohdistimen -> virtual;
ja painat Ctrl-F1.
Miksiköhän Delphin sisäisen ohjeen käyttö on noin vaikeaa ?
The Virtual directive allows a method in a class to be overriden (replaced) by a same named method in a derived class.
You would mark a function or procedure as Virtual when you happily allow a programmer who creates a class based on your class to replace its functionality.
For example, you might allow a base class to paint a canvas in white, but allow a derived class to paint a picture on the canvas instead. Here, the virtual directive is allowing the code to be extended, to be enriched.
Virtual may be followed by the Abstract directive. This modifies the effect of the virtual directive. It means that the current class must not code the method - it is there only as a placeholder to remind and ensure that derived classes implement it.
Notes
Virtual is semantically equivalent to Dynamic. The former is optimised for speed, the latter for memory.
En osaa englantia, voitko sanoa saman suomeksi?
Tuosta saa sen käsityksen että kun käyttää luokan metodin esittelyssä dynamic (kääntäjän ohjeen/) avainsanan tilalla virtual niin kyseinen luokan metodi
toimii nopeammin. Jos taas käyttää dynamic avainsanaa niin se vie vähemmän muistia.
Eli kääntäjä voi rakentaa olioiden metodien kutsun kahdella eri tavalla.
Virtuaalimetodia voit testata myös tämän esimerkin avulla
Aluksi luot lomakkeelle napin ja memon sekä napille painamistapahtuman.
Sen jälkeen lisäät puuttuvan koodin
...
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
TKantaLuokka = class
public
function EiVirtuaaliMetodi: string;
function VirtuaaliMetodi: string; virtual;
end;
TLapsiLuokka = class(TKantaLuokka)
public
function EiVirtuaaliMetodi: string;
function VirtuaaliMetodi: string; override;
end;
var
Form1: TForm1;
implementation
{ TForm1 }
function TKantaLuokka.EiVirtuaaliMetodi: string;
begin
Result := 'TKantaLuokka.EiVirtuaaliMetodi';
end;
function TKantaLuokka.VirtuaaliMetodi: string;
begin
Result := 'TKantaLuokka.VirtuaaliMetodi';
end;
function TLapsiLuokka.EiVirtuaaliMetodi: string;
begin
Result := 'TLapsiLuokka.EiVirtuaaliMetodi';
end;
function TLapsiLuokka.VirtuaaliMetodi: string;
begin
Result := 'TLapsiLuokka.VirtuaaliMetodi';
end;
procedure TForm1.Button1Click(Sender: TObject);
var k: TKantaLuokka;
l: TKantaLuokka;
// määritellään lapsiluokalle
//myös kantaluokka tyyppinen osoitin
begin
k := TKantaLuokka.Create;
l := TLapsiLuokka.Create;
try
Memo1.Lines.Add(k.EiVirtuaaliMetodi);
Memo1.Lines.Add(k.VirtuaaliMetodi);
Memo1.Lines.Add(l.EiVirtuaaliMetodi);
Memo1.Lines.Add(l.VirtuaaliMetodi);
finally
l.Free;
k.Free;
end; // try finally
end;
...