Wenn eine Methode ein Objekt erstellt und ich die Methode von einem anderen Objekt aus aufrufen, hat das letzte Objekt Zugriff auf die Eigenschaften und Methoden des ersten Objekts?eine Methode erstellt ein Objekt und ich rufe die Methode von einem anderen Objekt
Antwort
Wenn es irgendwo zurückgegeben/gespeichert wird, sind öffentliche Felder und Methoden zugänglich.
Da sind einige Informationen, die Sie verwirren könnten.
Die Methode und das Objekt (in diesem Fall) sind voneinander getrennt. Die Frage wird also: Speichern Sie das erstellte Objekt in einem Bereich, auf den das zweite Objekt zugreifen kann?
Bearbeiten: Angesichts der Änderung der Tags ist diese Antwort nicht mehr relevant. Ich habe es verlassen die Kommentare zu bewahren ...
Ursprüngliche Antwort:
Like this ?:
public MyObject CreateObject()
{
return new MyObject() { FirstProperty = "Hello World" };
}
public Main()
{
MyObject n = CreateObject();
Console.WriteLine(n.FirstProperty);
}
Oder dieses ?:
class Program
{
MyObject _myObject;
public void CreateObject()
{
_myObject = new MyObject() { FirstProperty = "Hello World" };
}
public Main()
{
Console.WriteLine(_myObject.FirstProperty);
}
}
In jedem In diesen beiden Fällen können Sie sicher auf Eigenschaften Ihres Objekts zugreifen. Wenn Sie das nicht so gemeint haben, weiß ich nicht genau, wie Sie Ihre Frage beantworten sollen.
In Router, in einer Methode, in einer enthaltenen Datei ist der Controller-Code. Im Modell und in der Ansicht muss ich auf die Eigenschaften und Methoden des Controllers zugreifen. In Router möchte ich in einer anderen Methode ein Controller-Objekt an das Modell und die Ansicht zurückgeben. Was jetzt??? –
Sie verwenden also ASP.NET MVC? – BenAlabaster
Ich verstehe den CakePHP-Quellcode nicht, also musste ich um Hilfe bitten, ihn ständig zu konfigurieren. Plus wirklich fehlende soziale Fähigkeiten, die CakePHP Community hörte auf, mir zu helfen. Jetzt muss ich mit reinem PHP arbeiten. –
Nur wenn die Methode einen Verweis auf das Objekt behält, das erstellt wird.
In Router, in einer Methode, in einer enthaltenen Datei ist der Controller-Code. Im Modell und in der Ansicht muss ich auf auf die Eigenschaften des Controllers zugreifen und Methoden. In Router, in einer anderen Methode, möchte ich einen Controller Objekt an das Modell und die Ansicht zurückgeben. Was jetzt ??
Wenn ich die Frage richtig verstehe, sind Sie ein wenig verwirrt über MVC. Router-Klasse ist eine Kuchen interne Klasse und sollte niemals nie nie nie absolut nie geändert werden. Und diese "nie überhaupt" werden nicht einmal kopiert, sie sind wirklich getippt.
Zweitens, Modell Klassen wissen nicht einmal etwas Controller genannt. Controller verwendet Modelle, nicht umgekehrt. Wenn Ihr Modell etwas von einem Controller benötigt, übergeben Sie es als Parameter. Alles andere ist nur schlechtes Design.
Auch das Aufrufen von Controller-Aktionen aus einer Ansicht ist möglich, wird jedoch dringend davon abgeraten. Der Controller ist derjenige, der alle Daten für eine Ansicht vorbereitet, so dass View nicht auf den Controller zugreifen muss (es gibt Ausnahmen, die außerhalb des Bereichs dieser Frage liegen).
Ich empfehle Ihnen, lesen Sie ein wenig about MVC, cake's typical request, und gehen Sie zumindest durch die basic blog tutorial.
- 1. Wie rufe ich eine Scala-Objekt-Methode mit Reflektion auf?
- 2. Aufruf einer anderen Methode von Objekt-Java
- 3. Rufe ich ein .NET-Objekt oder ein COM-Objekt an?
- 4. Wie rufe ich eine Methode auf, die ein Hashwert ist?
- 5. C++ - Objekt erstellt in Methode übergeben
- 6. Die beste Methode, um ein Objekt mit einem anderen Objekt desselben Typs in .Net zu aktualisieren?
- 7. Ausführen und Objekt Methode von EL
- 8. Wie rufe ich eine Methode in einem besitzenden Objekt in C++ auf?
- 9. TypeError Objekt [Objekt Objekt] hat keine Methode SubSelf, TypeError Objekt [Objekt Objekt] hat keine Methode Schnittpunkte
- 10. Ist eine Methode ein Objekt in Java?
- 11. Wie kopiert man ein Objekt und erstellt ein neues Objekt mit einem vorhandenen Json-Objekt?
- 12. Kann ich ein anonymes Objekt in eine Methode übergeben, die einen Referenzparameter vom Typ Objekt erwartet?
- 13. Unit Test für eine Methode, die ein Connection-Objekt zurückgibt
- 14. Aufrufen einer Methode für ein Objekt
- 15. excete Methode immer wenn Objekt erstellt wird
- 16. Kann ich ein Typ-Objekt an eine generische Methode übergeben?
- 17. Java-Wie rufe ich eine Methode mit einem Rückgabetyp
- 18. jQuery val() Methode auf einem benutzerdefinierten Objekt
- 19. Wie erstellt man eine Methode in Objekt-Literal-Notation?
- 20. Eigenschaften stdClass Objekt von einem anderen Objekt
- 21. Node Stub eine Methode, die ein Objekt zurückgibt
- 22. Unit testet eine Methode, die ein nicht triviales Objekt zurückgibt
- 23. Statische Methode ein Objekt statt Konstruktor
- 24. Wie kann ich auf ein Objekt warten() und dann auf einem anderen Objekt notifyAll?
- 25. Zugriff auf eine Methode in einem Objekt von einem zweiten Objekt aus
- 26. Die beste Methode, um einem Objekt Werte hinzuzufügen?
- 27. PHPUnit - Versuchen, eine Methode von einem Objekt aufgerufen als Parameter
- 28. Wie schreibe ich einen Testfall für eine Methode, die Objekt
- 29. Methode/Objekt besteht nicht
- 30. die richtige Methode für ein Objekt aufrufen, wenn das Objekt eine Instanz einer Basisklasse ist
Jede Sprache speziell? –
Boo hat recht, wenn ich dich richtig verstehe. Wir können jedoch möglicherweise eine klarere Antwort geben, wenn Sie einen Beispielcode angeben (und uns mitteilen, welche Sprache Sie verwenden). –
Ihr Kommentar zu meiner Antwort weist darauf hin, dass Sie MVC verwenden - ist das ASP.NET MVC oder ein anderer Geschmack? – BenAlabaster