Variablendefinition bestehen aus bis zu 4 Zeilen (FVariable, SetVariable, GetVariable, property Variable)
Nein. Warum
muss das so sein? Niemand braucht diese Properties. Eine normale Variable tut es auch. Null Mehraufwand.
Klasse muss Created und Destroyed werden
Nein. Ist die Methode abhängig von einer individuellen Instanz deiner Klasse? Wenn nicht, dann ist es eine Klassenmethode ("statisch").
Eine Klasse macht das deutlich besser testbar ("
Unit-Tests"). Der Code ist austauschbar. Du kannst mehrere unabhängige und sauber getrennte Instanzen (z.B. über mehrere Threads) haben, anstatt das alles mit den selben globalen Variablen jongliert. Objektorientierte Programmierung macht viele moderne Entwicklungsmuster ("Patterns") erst möglich.
Ich würde wirklich noch mal ein Tutorial über
OOP lesen, insbesondere die drei Stichworte Datenkapselung, Polymorphie und Vererbung. Zur Datenkapselung gehört insbesondere der von dir erkannte Vorteil, dass die Code Completion (und damit auch der Entwickler) auf den ersten Blick sieht und weiß, was hier thematisch zusammengehört, anders als bei einem Sack von global herumschlabbernden Prozeduren.