Klassenaufbau Rechte- / Gruppensystem

Bei einer Datenbank Abbildungen würde ich aber eher auf Interfaces setzen, da sich die Klassen zwar von der Struktur her ähneln, die Funktionalität aber völlig unterschiedlich sein kann.
 
Auch hier wieder richtig. Wird aber soweit ich mich aus der Vorlesung erinnern kann in UML2-Klassendiagrammen gleich dargestellt.

Klassendiagramme zeigen ja auch nicht die konkrete Implementierung, sondern bieten nur die Möglichkeit das Konzept eines Programmes zu beschreiben.
 
Nunja, wenn du dein Model richtig definierst, kannst du direkt aus dem UML Source-Code erzeugen. So machen wir das in Java. Desweiteren kann ein UML auch Probleme aufzeigen, die man vor einer konkreten Implementierung vielleicht noch gar nicht im Auge hat. Daher hat die geeignete Wahl ob Schnittstelle, abstrakte Klasse oder konkrete Implementierung bei der Analyse durchaus einen hohen Stellenwert.
 
Ich hab nun 1,2 oder mehre Objekte in einen Array. Wie kann ich die Methoden aus den Objekten in den Array ansprechen? Ist das überhaupt möglich.

Bsp. Array(Objekte)

objekt1 -> Methode
objekt2 -> Mehtode
unsw,

Mfg Splasch
 
array[richtige_stelle]->Methode();

Danke aber das Array befindet sich ja in einem Objekt. Nach dieser möglichkeit müßte ich also eine Methode schreiben die die Methoden der anderen Objekte im array anspricht. Oder lieg ich damit falsch.

PHP:
class A
{
  $test = array(); # Array mit anderen Objekten

 function addobjekt ( B $b)
 {
  $this->test[]=$b;
 } 
 
 function getobjekte()
 {
  return $this->test;
 }

}

class B
{
  .... eigenschaften und mehtoden
}

$b = new B();
$a= new A();
$a->addobjekt($b);

/* Nun wenn ich das richtig verstanden habe müßte ich dann weiter Methoden in class A schreiben die den Zugriff auf die Methoden der Class B ermöglichen  
*/
#Beispil

$a->getobjekte['name des Objektes']->Methode();
# Oder muß ich auslagern
$neu = $a->getobjekte;
$neu->name des Objektes->Methode();

Mfg Splasch
 
Zuletzt bearbeitet:
Soweit ich weiß liegst du falsch. Du müsstest auf Arrays in einem Objekt genau so zugreifen können wie auf normale Arrays.

Geht
PHP:
$a->getobjekte()['name des Objektes']->Methode

nicht?
 
Ich habs getestet funktioniert so nicht.
Bekomm da die Fehlermeldung:
Parse error: syntax error, unexpected '[' in D:\xampp\htdocs\Allgemeine_klassen\libraries\user\test.php on line 36

Was ja eigentlich logisch ist weil die Methode getobjekte nur das Array zurück gibt.

Mfg Splasch
 
PHP:
<?php
class A
{
	public function say()
	{
		echo 'A';
	}
}
class B
{
	public function say()
	{
		echo 'B';
	}
}
class C
{
	public function say()
	{
		echo 'C';
	}
}

class Container
{
	protected $objects;
	
	public function add($name, $obj)
	{
		$this->objects[$name] = $obj;
	}
	
	public  function get($name)
	{
		return $this->objects[$name];
	}
}

$cont = new Container;

$a = new A;
$b = new B;
$c = new C;

$cont->add('A', $a);
$cont->add('B', $b);
$cont->add('C', $c);

$cont->get('A')->say();
$cont->get('B')->say();
$cont->get('C')->say();
?>

Hier mal ein funktionierendes Beispiel einer Container Klasse.
Ist hingesabbelt, also bitte nicht 1:1 übernehmen.

Ich würd es spontan als Registry Pattern einstufen.
 
Zurück