4470: Objecten en objectoriëntatie

namespace ObjectPascalExample;

interface

type
  ConsoleApp = class
    class method Main
  end;

  THelloWorld = class
    method Put;
  end;

implementation

method THelloWorld.Put;
begin
  Console.WriteLine('Hello, World!');
end;

class method ConsoleApp.Main;
begin
  var HelloWorld := new THelloWorld;
  HelloWorld.Put;
end;

end.

Het concept van "objectoriëntatie" (OO) dient om programma's beter te structureren, voor de overzichtelijkheid, de onderhoudbaarheid en de herbruikbaarheid. Daartoe worden grote delen van het programma in modulen opgedeeld die men "Klasse" noemt en waarvan men meerdere Objecten (instances, exemplaren) kan creëren. Een Klasse is een soort super Type, een blauwdruk, die niet alleen data kan bevatten, maat ook alle methoden (functies) om die interne data te importeren, te manipuleren en te exporteren. Zo is een hiervan afgeleid "Object" dus ook een super Variabele die alle nuttige functionaliteit in zich draagt, zonder dat de implementatie zichtbaar is.

Programma's worden overzichtelijk doordat alle details in de klassen verborgen is, onderhoudbaar doordat aanpassingen alleen in een klasse óf in het programma zelf plaats vinden en herbruikbaar omdat de klassen natuurlijk ook in andere programma's kunnen worden gebruikt.