Effacer les filtres
Effacer les filtres

MATLAB OOP - calling an object method from within another object method

7 vues (au cours des 30 derniers jours)
Raymond
Raymond le 2 Avr 2012
Modifié(e) : Adam le 21 Mar 2018
i created two objects from two different classes. how do i call one object from within the other?
any advice would be very much appreciated. thanks.

Réponse acceptée

Kye Taylor
Kye Taylor le 2 Avr 2012
One way is via composition: (see http://en.wikipedia.org/wiki/Object_composition)
Let your two classes be class A and class B. Inside a property block of the class definition file for class A, include a variable, say bObj, that you intend to be an instance of class B. Then, in the constructor of class A, instantiate this instance of class B
bOjb = B(...)
Assuming that method m() of class B is public, invoke it anywhere in class definition file for class A with
bObj.m(...)
  3 commentaires
Walter Roberson
Walter Roberson le 2 Avr 2012
That's why Kye said "Assuming that method m() of class B is public". If they _are_ public, then just use what Kye showed. If they are not public, you have difficulties.
Raymond
Raymond le 3 Avr 2012
thanks guys!

Connectez-vous pour commenter.

Plus de réponses (1)

Hadar
Hadar le 21 Mar 2018
hi, if class A and B definitions (properties and methods) are in different files (each of them is in its own file), how can class A "see" B and instantiate it? I get an error of undefined.
  1 commentaire
Adam
Adam le 21 Mar 2018
Modifié(e) : Adam le 21 Mar 2018
Please ask a new question and give more details rather than adding it as an 'Answer' to a 6 year old question.
I notice you did do this yesterday so have replied there now.

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by