JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=4a36298604cca4f6402eb6f8118d3dc7Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

public oder private?

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Hasenfuß
Senior JLI'ler


Alter: 37
Anmeldedatum: 20.08.2002
Beiträge: 291

Medaillen: Keine

BeitragVerfasst am: 07.11.2002, 13:32    Titel: public oder private? Antworten mit Zitat

Haltet ihr es bei Klassen sinnvoller eine Membervariable public zu machen, oder Zugriffsfunktionen zu schreiben, wenn man z.B. so zugreifen will:
Code:

Class->x++;   //public
Class->SetX(Class->GetX()+1); //Zugriffsfkt.

Da ich weis, dass es allgemein nicht gut ist public variblen zu deklarieren, aber dieser Fall ja wohl eindeutig einfacher mit public wird bin ich mir nicht sicher was besser ist.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Starwash
Senior JLI'ler


Alter: 40
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 07.11.2002, 13:47    Titel: Antworten mit Zitat

Also,
public Membervariablen werden eigentlich immer dann eingesetzt, wenn man eine Variable von außen veränderbar machen will. Soll eine Variable nur von deiner Klasse veränderbar sein, so deklariert man sie als private. Aber wenn du sie lieber als private haben willst, dann schreib dir doch folgende Memberfunktionen
int GetX();
void SetX();
void incX();
void decX();

Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 07.11.2002, 13:56    Titel: Antworten mit Zitat

Es ist gegen die Idee der Kapselung Membervariablen Public zu machen und ein schlechter Stil. Mach lieber, wie Apnik schon sagte, folgendes:

Code:

mennekicken->IncX(10);  // X inkrementieren(erhöhen)
mennekicken2->IncX(-3); // X dekrementieren

// oder du hast noch Geschwindigkeiten und Beschleunigungen in der Klasse:
void CObject::Update()
{
   velocity += acceleration;
   position += velocity;
}

_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hasenfuß
Senior JLI'ler


Alter: 37
Anmeldedatum: 20.08.2002
Beiträge: 291

Medaillen: Keine

BeitragVerfasst am: 07.11.2002, 17:16    Titel: Antworten mit Zitat

Danke. Auf die idee mit den Inkrementierungsfunktionen bin ich irgendwie gar nich gekommen Rolling Eyes .
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 07.11.2002, 17:19    Titel: Antworten mit Zitat

Keep It Simple Stupid ;) (KISS Prinzip)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum