deklaratív nyelv: - funkcionális - Haskell 1998 - ML, caml, ocaml - Clean - Erlang - LISP - logikai - Prolog void f(Ős x) { ... } class Ős { } class Leszármazott : Ős { ... } Leszármazott le; f(le); class Ember { void gyárbaMegy(); } class Dolgozó extends Ember { // gyárbaMegy felüldefiniálása @override void gyárbaMegy() { } } // lehet ilyen... // Ember e = new Ember(...); // ... vagy ilyen // Ember e = new Dolgozó(...); Ember e = ... e.gyárbaMegy(); // f nevének túlterhelése void f(int); void f(double); // invariáns: olyan feltétel, // amelynek az objektum létezése során mindig // meg kell, hogy feleljen // pl. itt: az ábrázolt szám nem 13 class Nem13 { Nem13(int szám) { if (szám == 13) throw ... } novel() int szám; } new Nem13(13); Verem v = new Verem(19); oO0 l1 függvény eljárás package a.b.c; class D { ... } import a.b.*; // D-t nem importálja import a.b.c.*; class Nem13 { Nem13 ( int szám) {if (szám == 13)throw ...} novel() int szám; } if () if () xxxxxx if () xxxx