Objekte sind großartig, das sagen alle. Neben ihrer wunderbaren Flexibilität sind sie auch unglaublich schnell. Sie können Millionen von Datensätzen in nur einem Bruchteil einer Sekunde durchsuchen. 4D v16 ermöglicht sogar die Sortierung nach Objektattributen und die Durchführung von Berechnungen wie Summe oder Durchschnitt.
Mit 4D v16 R4 wurde die 4D Sprache drastisch verbessert, um die Verwendung von Objekten viel komfortabler zu machen – mit der Unterstützung der Objektnotation. Schnell, flexibel, effizient und jetzt auch elegant!
Was ist möglich?
Objekte in der 4D Sprache können mit der Standard-Objektnotation behandelt werden, um ihre Werte zu erhalten oder zu setzen. Mit der Objektnotation:
- Auf Objekteigenschaften kann mit einem „Punkt“-Symbol zugegriffen werden (z.B. employee.name)
- Auf Objektsammlungselemente kann mit eckigen Klammern zugegriffen werden (z. B. rooms[2])
- Auf eingebettete Unterobjekte und Eigenschaften von Unterobjekten kann durch eine Folge von Symbolen zugegriffen werden (z. B. Mitarbeiter.Kinder[2].Alter).
Gute Nachrichten, jetzt haben Sie ein Mittel, um all diese Dinge loszuwerden OB Get und OB SET in Ihrem Code loszuwerden! Und wissen Sie was? Die Codeausführung ist mit der Objektnotation 10 Mal schneller als mit OB Get/OB SET Verwendung!
Beispiele für die Objektnotation
Nehmen wir an, wir haben ein $o Objekt, das die folgenden Informationen enthält:
{ "Lastname": "Doe", "Firstname": "John", "Avatar": "[object Picture]" "Child": [{ "Name": "Susan", "Age": 3 } , { "Name": "Bob", "Age": 8 }] }
Zum Abrufen des Attributs „Firstname“ Attribut abzurufen, schreiben Sie:
Mit Objektnotation
C_TEXT($name)
$name :=$o.Vorname
Ohne Objektnotation
C_TEXT($name)
$name :=OB Get($o; "Vorname")
Zum Abrufen des „Name“ der zweiten Kinder abzurufen, schreiben Sie:
Mit Objektschreibweise
C_TEXT($name)
$name :=$o.Kind[1].Name
Ohne Objektnotation
ARRAY OBJECT($aChild;0)
C_TEXT ($name)
OB GET ARRAY ($o; "Kind";$aChild)
$name :=OB GET($aChild{2}; "Name")
Um ein weiteres Kind hinzuzufügen, schreibt man:
Mit der Objektnotation
$o.Kind[2].Name:="Mike"
$o .Kind[2].Alter:=9
Ohne Objektnotation
ARRAY OBJECT($aChild;0)
C_OBJECT ($kid)
OB GET ARRAY ($o; "Kind";$aChild)
OB SET ($kid; "Name"; "Mike")
OB SET ($kid; "Alter";9)
APPEND TO ARRAY ($aChild;$kid)
OB SET ARRAY ($o; "Kind";$aChild)
Lesen Sie mehr über Sammlungen >
Um ein Bild in ein Objektattribut einzufügen, schreiben Sie:
Mit der Objektnotation
C_PICTURE($img)
READ PICTURE FILE("img.jpg";$img )
$o .Avatar:=$img
Ohne die Objektnotation
C_PICTURE($img )
READ PICTURE FILE ("img.jpg";$img )
OB SET ($o; "avatar";$img)
Lesen Sie mehr über Bilder in Objekten >
Um die Zeiger-Notation zu verwenden, schreiben Sie:
Mit der Objektnotation
C_POINTER($p)
$p :=->$o
...
C_TEXT ($name)
$name :=$p->Vorname
Ohne Objektschreibweise
C_POINTER($p)
$p :=->$o
...
C_TEXT ($name)
$name :=OB Get($p->; "Vorname")
Wie kann ich die Objektnotation aktivieren?
Um die Objektnotation nutzen zu können, müssen Sie im Dialogfeld „Datenbankeinstellungen“ auf die Seite „Kompatibilitätseinstellungen“ gehen und auf die Schaltfläche „Objektnotation aktivieren“ klicken:
Es gibt einige Voraussetzungen, bevor Sie die Objektnotation aktivieren können, aber wir helfen Ihnen bei der Vorbereitung: