Seite 1 von 1

Was sind klassen, literale?

Verfasst: 30.12.2003 20:47
von JumpinJack
Hallo an alle Coder da draußen.

Also ich lese mir mit interesse momentan das Buch "Programmieren mit PHP" durch. Jedoch stolpere ich am Anfang über die oben genannten Ausdrücke die dort nicht wirklich beschrieben.

Wäre klasse wenn mir einer sagen könnte was diese code-typen bewirken sollen. Konstante und Variablenamen sind ja schon klar. Aber die?!?

Verfasst: 30.12.2003 20:51
von itst
Eine Klasse ist die programmtechnische Abbildung eines Objekts der realen Welt. Zum Beispiel aus der Realität Autos, im Programm class cars().

Literale sind Datentypen, die alphanumerische Zeichen aufnehmen, im Gegensatz zu komplexen Typen, die aus mehreren Typen bestehen. Die "Strasse" als String ist ein Literal, die Adresse bestehend aus "Strasse", "PLZ", "Ort", ... aber nicht.

Verfasst: 30.12.2003 21:06
von PhilippK
itst hat geschrieben:Eine Klasse ist die programmtechnische Abbildung eines Objekts der realen Welt. Zum Beispiel aus der Realität Autos, im Programm class cars().
Man sollte vielleicht etwas genauer von einer Zusammenfassung bzw. einer abstrakten Definition einer Objektgruppe (also z.B. einer Klasse für Autos) sprechen, um die Abgrenzung zum Objekt bzw. der Instanz sauber hinzubekommen. Die Klasse definiert die Attribute (z.B. Farbe) und die Funktionen/Methoden (z.B. verschrotten), die ein Objekt hat bzw. die auf das Objekt angewand werden können.

Gruß, Philipp

Verfasst: 30.12.2003 21:09
von Pyramide
Literale sind keine Datentypen, sondern Daten, die direkt in den Quellcode geschrieben werden. Also z.B. $foo = "bar" oder $foo = 123, aber nicht $foo = file(...);
literal

<programming> A constant made available to a process, by
inclusion in the executable text. Most modern systems do not
allow texts to modify themselves during execution, so literals
are indeed constant; their value is written at compile-time
and is read-only at run time.

In contrast, values placed in variables or files and accessed
by the process via a symbolic name, can be changed during
execution. This may be an asset. For example, messages can
be given in a choice of languages by placing the translation
in a file.

Literals are used when such modification is not desired. The
name of the file mentioned above (not its content), or a
physical constant such as 3.14159, might be coded as a
literal. Literals can be accessed quickly, a potential
advantage of their use.

Verfasst: 30.12.2003 21:12
von JumpinJack
Aha...Ich glaube ich habs verstanden. Danke für die erklärungen.

Verfasst: 30.12.2003 22:41
von JumpinJack
Noch eine Frage:
Laut buch sollte

Code: Alles auswählen

echo "laber rabarba\n";
echo "test";
das auswerfen:

laber rabarba
test


Sprich, das \n sollte eine neue Zeile anfangen. Macht er aber bei mir nicht. Der überlist das \n. Also als ergebnis habe ich dann das hier:

laber rabarba test

Weiß einer waran das liegen kann?

btw: Ihr sagt wenn ich nerve?!? :D

Verfasst: 30.12.2003 23:33
von PhilippK
Schau's dir im Quellcode an - nicht als HTML-Ergebnis. Bei HTML werden Zeilenwechsel wie ein Leerzeichen interpretiert.

Gruß, Philipp

Verfasst: 30.12.2003 23:44
von JumpinJack
Oh man. Da muss man auch drauf kommen. Im Buch sieht das eben ein wenig anders aus. :(

Naja aber wenn mans weiß, ists klar. Danke dir.

Verfasst: 31.12.2003 00:04
von Pyramide
Oder füge ganz am Anfang ein:

Code: Alles auswählen

header("Content-type: text/plain");

Verfasst: 31.12.2003 00:19
von JumpinJack
Manchmal seid ihr mir unheimlich. :D
Hat prima geklappt. Danke dir Pyramide.