close

Szimulál

Ugrás a navigációhoz Ugrás a kereséshez

A Simula egy objektum - orientált programozási (OOP) nyelv 1962-ből. Ez volt az első a maga nemében, amely magában foglalta az osztály fogalmát. Néhány évvel a fejlesztés után szinte minden modern nyelv elkezdte használni az objektum-orientált elveit. Így váltak népszerűvé az olyan kifejezések, mint az osztályok , objektumok , példányok , öröklődés , polimorfizmus stb .

A Simula 67 -et hivatalosan szerzői, Ole Johan Dahl és Kristen Nygaard adták ki 1967 májusában , az IFIO TC 2 szimulációs nyelvekkel foglalkozó munkakonferenciáján, az Oslo melletti Lysebuban.

Ma a Simula készítői kifejlesztettek egy új programozási nyelvet, a Bétát , amely a nyelv összes konstrukcióját egyetlen ötletté, úgynevezett mintává általánosítja .

Helló Világ!

Ez a híres "Hello World" program a Simula 67-ben:

 ! ez egy megjegyzés ; 
 Kezdje  el a megjegyzést itt kezdődik a program; 
  OutText ("Hello World!");
  OutImage ;
 Program vége  ;

Osztályok és objektumok

A Simula egy objektumorientált nyelv . Ez azt jelenti, hogy a „Hello World” példát úgy is meg lehet írni, hogy példányosítunk egy osztályt, amely kezeli az üdvözlet írását.

 ! minden program az elejével kezdődik és a végével ér véget; 
 Kezdődik
 
   Osztály üdvözlet;
   Begin 
     OutText ("Hello World!");
     OutImage ;
   óra végi  üdvözlet ;
 
   REF (Üdvözlet) objektum;
   objektum :- Új üdvözlet;
 
  modulprogram vége ;

Ez a program is megjeleníti a "Hello World!" .

Az üzenet a Greetings osztály kódblokkjába van kódolva . Ez a kódblokk csak akkor fut le, ha létezik egy Greetings típusú példány vagy változó ; ami valójában akkor történik meg, amikor létrehoz egy példányt a New utasítással .

A Simulában az objektumokat mindig hivatkozások kezelik. Van egy szemétgyűjtő, amely felelős azért, hogy eltávolítsa a memóriából azokat az objektumokat, amelyekre kifogytak a hivatkozások. Ezen hivatkozások egyikét látjuk objektumváltozóval . A hivatkozások hozzárendeléséhez a :- operátort használjuk.

Sok modern nyelvtől eltérően a Simula kétféle objektumot ért meg.

Aktívak azok az objektumok, amelyek még nem fejezték be a hozzájuk tartozó kezdő/vége blokkot .

Másrészt inaktívak , befejezték az utasítások blokkját.

Mindkettőnél lehetőség van a tag eljárások végrehajtására és az attribútumok lekérdezésére bármikor.

Mivel a Simula 67 egy kissé régi nyelv, az általa kezelt fogalmak némileg eltérnek az objektum-orientált programozói közösség által jelenleg használt fogalmaktól. Az általunk használt példányok az inaktív objektumoknak felelnek meg . Míg az utasításblokk konstruktorok sorozatát alkotja.

Ami az aktív objektumokat illeti , ezek a Simulában található pszeudo-párhuzamos funkció miatt léteznek, és szinte minden modern nyelvben hiányzik. Ezt a funkciót korutinnak nevezik, és közvetlenül a nyelv vezérli kulcsszavak csoportján keresztül.

Aktív objektumok egy csoportja együtt létezhet ugyanabban a Simula programban, és bármikor átviheti a vezérlést egyikről a másikra. Ez a funkció az alapja azoknak a szimulációs funkcióknak, amelyek a nyelv nevét adják.

Külső linkek