Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

13.10.2005, 16:15

Namespaces vs. Klassen

Warum werden in dem buch Klassen für Breakanoid, Intro usw. benutzt und keine Namespaces?
Oder Strukturen?

Namespaces würden doch die Struktur vereinfachen und man bräuchte nicht immer Pointer in jedem Objekt um die Funktionen (Load, Exit usw.) eines anderen Objekts aufzurufen, oder?

Und wenn die Klassen komplett ungekapselt sind kann man auch einfach eine Struktur nehmen.

Anonymous

unregistriert

2

13.10.2005, 16:22

Namespaces und Klassen sind sowas wie Bananen und Äpfel. Die kann man nicht vergleichen und gegenüberstellen, das ist Unfug.

Du kommst jetzt sicherlich mit diesen static-klassen die David in seinem Buch benutzt hat, was allein schon aus Designgründen abartig ist. Dafür gibt es singletons und static sollte dafür nicht vergewaltigt werden.

Anonymous

unregistriert

3

13.10.2005, 16:59

Ich hab bis jetzt in keinem Listing ein static gesehen...
( Ich hab die 2. Auflage falls sich der Code da unterscheidet )
Eigentlich ging es mir nicht um den Vergleich von Namespaces und Klassen sondern um die Organisierung des Codes.

Wenn man einen Namespace für jeden Spielzustand hat, ist es doch komfortabler, als wenn man für jeden Spielzustand eine Klasse erstellt und alle Elemente public macht.

bassdscho

Alter Hase

Beiträge: 1 056

Wohnort: Heuchlingen

Beruf: Student - Technische Informatik

  • Private Nachricht senden

4

13.10.2005, 17:41

Machs halt wie du willst, ich glaub Performance technisch schenkt sich da nicht viel.
Ich persöhnlich find Klassen viel komfortabler und übersichtlicher wie Namespaces.

@nix da
ich weiß jetzt auch nicht welche static Klassen du meinst. Von singletons hab ich nicht so viel ahnung. Ich benutz static nur wenns nötig ist.
Verlierer jammern immer von wegen ihr bestes!
Sieger gehen nach Hause und vögeln die Ballkönigin!

Anonymous

unregistriert

5

13.10.2005, 18:00

tbDirect3D z.B. static-Klasse. Da muss ein Singleton (wenn überhaupt hin)

Gast
Das mit public/private/protected hat schon seinen Sinn. Jemand der gut Codet macht z.B. keine Funktion in seiner D3D Klasse alá "GetDirect3DDevice();" usw. Da wird strickt mit private gearbeitet und jede Klasse die das Device braucht wird befreundet.

Anonymous

unregistriert

6

13.10.2005, 18:01

Zu den Singletons: http://search.microsoft.com/search/resul…b&c=0&s=1&swc=0
oder
de.wikipedia.org/Singleton


Singletons sind hier denk ich zu abstrakt und man braucht sie auch nicht unbedingt um Funktionen (und Werte) zu gruppieren.

Aber wenn man mit Namespaces arbeitet erspart man sich doch die ganzen Pointer.

Namespaces sind doch auch viel leichter zu handlen... (man muss keine Objekte instanzieren usw.)

Anonymous

unregistriert

7

13.10.2005, 18:04

Abstrakt ist das falsche Wort. Kompliziert ist vielleicht besser

Anonymous

unregistriert

8

13.10.2005, 18:06

Gast
Ich komm hier mal gerne mit meinen Lieblingsvergleichen zu diesem Thema:

Namespaces kann man als Nachnamen in C++ ansehen und Klassen(Objekte) als Vornamen.

Bei Nachnamen kann man z.B. sagen "Hey Schröders!" um eine Gruppe anzuspreichen die Funktionen (KEINE Variablen höchstens Konstanten) anzusprechen.

Bei Vornamen sagt man eher "Na Stafan Schröder? Was macht dein Device?!" um z.B: den Wert einer bestimmten Klasse der Familie Schröder abzufragen.

Namespaces nur zur Gruppierung klassen dafür jedoch nicht
Klassen nur für Eigenschaften z.B. hat eine D3D klasse ne eigenschaft: Ein Device, eine Gruppe hat kein Device, dafür sind Instanzen wichtig.

Anonymous

unregistriert

9

13.10.2005, 18:28

Zitat von »"nix da"«

Gast

Namespaces kann man als Nachnamen in C++ ansehen


Das ist klar

Zitat von »"nix da"«


Klassen(Objekte) als Vornamen.



Objekte schon, bei Klassen würd ich mir das noch mal überlegen
Sonst wären 2 Menschen mit gleichem Namen identisch

Zitat von »"nix da"«


(KEINE Variablen höchstens Konstanten)



In den Listings werden nur Funktionen gruppiert

Zitat von »"nix da"«


Bei Vornamen sagt man eher "Na Stafan Schröder? Was macht dein Device?!" um z.B: den Wert einer bestimmten Klasse der Familie Schröder abzufragen.

Du meinst wohl eines Objekts...

Zitat von »"nix da"«


Namespaces nur zur Gruppierung klassen dafür jedoch nicht
Klassen nur für Eigenschaften z.B. hat eine D3D klasse ne eigenschaft:

Und was ist mit den "Methoden" einer Klasse.
Für einfache Datensätze würde ich aber Strukturen verwenden...

Zitat von »"nix da"«


Ein Device, eine Gruppe hat kein Device, dafür sind Instanzen wichtig.

???

Anonymous

unregistriert

10

13.10.2005, 18:36

Du kommst schon noch dahinter ;)

Werbeanzeige