Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 21:04

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Konstruktor Frage

Discussion on Konstruktor Frage within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2014
Posts: 211
Received Thanks: 5
Konstruktor Frage

Hallo,

Ich habe hier ein folgendes Programm (OOP) indem ein Konstruktor ist , nun ist meine Frage:

Ich versteh nicht wie es den Namen des Fahrzeugs anzeigt(Ausgabe auf dem Bildschirm). Es wird durch den Code $this->bezeichnung angezeigt aber ich habe dieses neue Fahrzeug ja nicht als bezeichnung "makiert/angegeben" ich meine es so z.B

$vespa = bezeichnung (z.B)

Hier der Code:

#AnymRolex* is offline  
Old 05/13/2015, 00:55   #2
dotCom
 
Devsome's Avatar
 
elite*gold: 9842
The Black Market: 107/0/0
Join Date: Mar 2009
Posts: 16,843
Received Thanks: 4,675
Ich weiß nicht ob ich deine Frage richtig verstanden habe.
Ein __construct wird immer aufgerufen wenn die classe aufgerufen wird, in diesem Fall "Fahrzeug"

Du rufst 2x am Anfang die class mit
Code:
$vespa = new Fahrzeug("Auto A", 25);
&
Code:
$scania = new Fahrzeug("Auto B",35);
auf.
Also wird in $this->bezeichnung = $bez , in diesem Fall erst Auto A dann Auto B geschrieben.
Bei der ausgabe(); Funktion gibst du ja mit echo die $this->bezeichnung aus, daher wird der Name angezeigt.

Mit der Funktion beschleunigen(); änderst du den Wert von der Variable $vespa und gibst es danach wie o.g wieder aus :3

//Update:
Wenn du in der Funktion ausgabe(); die beiden echos mal auskommentierst und ein
Code:
var_dump($this);
schreibst, siehst du in welchem Object was wie geschrieben ist.
Devsome is offline  
Old 05/13/2015, 00:55   #3

 
xEncounter's Avatar
 
elite*gold: 22
Join Date: Nov 2009
Posts: 1,552
Received Thanks: 361
Wenn ich nich falsch liege brauchst du für deine Attribute "getter", um sie dir von deinen Objekten zu holen.

Da die Attribute auf private gesetzt sind, kommtst du außerhalb der class Fahrzeug nicht dran.

Du musst für dein Attribut immer ein Getter und eventuell Setter Methode schreiben, wenn du die Attribute abrufen oder verändern willst.

Erweitere deine Klasse um diese Methode
Code:
  public function getBezeichnung() {
        return $this->bezeichnung;
    }
Danach kannst du die Bezeichnung abrufen mit der Methode
Code:
echo $vespa->getBezeichnung();
Oder du setzt beide Attribute auf public und rufst die so auf
Code:
echo $vespa->bezeichnung;
xEncounter is offline  
Old 05/13/2015, 01:02   #4
dotCom
 
Devsome's Avatar
 
elite*gold: 9842
The Black Market: 107/0/0
Join Date: Mar 2009
Posts: 16,843
Received Thanks: 4,675
Quote:
Originally Posted by xEncounter View Post
Wenn ich nich falsch liege brauchst du für deine Attribute "getter", um sie dir von deinen Objekten zu holen.

Da die Attribute auf private gesetzt sind, kommtst du außerhalb der class Fahrzeug nicht dran.

Du musst für dein Attribut immer ein Getter und eventuell Setter Methode schreiben, wenn du die Attribute abrufen oder verändern willst.

Erweitere deine Klasse um diese Methode
Code:
  public function getBezeichnung() {
        return $this->bezeichnung;
    }
Danach kannst du die Bezeichnung abrufen mit der Methode
Code:
echo $vespa->getBezeichnung();
Oder du setzt beide Attribute auf public und rufst die so auf
Code:
echo $vespa->bezeichnung;
Eigentlich hat er "fast" eine getter Funktion ;o
Funktion ausgabe(); ändern anstatt echo ein return mit $this->bezeichnung
Devsome is offline  
Old 05/14/2015, 23:23   #5
 
Warnuk3r's Avatar
 
elite*gold: 307
Join Date: Jul 2009
Posts: 1,091
Received Thanks: 434
Code:
$vespa = new Fahrzeug("Vespa Piaggio", 25); 
$scania = new Fahrzeug("Scania TS 360", 62);
Hier hast du doch die Bezeichnung angegeben.

Fahrzeug(Bezeichnung, Geschwindigkeit) // __construct($bez, $ge).
Warnuk3r is offline  
Reply


Similar Threads Similar Threads
C++ default Konstruktor - private Variablen setzen?
12/08/2014 - C/C++ - 1 Replies
#Edit, okay nach einigem rumprobieren, hab ichs jetzt doch hinbekommen :) Hat sich also erledigt.
[C++]Konstruktor Problem
07/29/2011 - C/C++ - 7 Replies
Hallo , ich habe ein Problem bzw eher gesagt eine Frage zu meinem Code. Ich habe mir eine schnuckelige Klasse angelegt die wie folgt aussieht: class Krieger { private:



All times are GMT +1. The time now is 21:06.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.