2016-04-26 16 views
0

Wird meine Klasse alle Eigenschaften der Hauptklasse erben, wenn sie darin definiert ist? Mein Code ist:Vererbung beim Definieren einer Klasse innerhalb einer Klasse

class DashboardPage(BasePage): 

    def __ini__(self,driver): 
     super().__init__(driver) 

    class MeetingsPage(): 

     def createMeeting(self): 
      pass 

     def editMeeting(self): 
      pass 

    class EmailsPage(): 

     def writeEmail(self): 
      pass 

Wird die MeetingsPage/EmailPage Eigenschaften/Methoden der BasePage erben?

Antwort

3

In Python sieht die Syntax für eine abgeleitete Klassendefinition wie DerivedClassName(BaseClassName): oder multiple Vererbung class DerivedClassName(Base1, Base2, Base3): aus. Wie Sie sehen können, wurden Ihre Klassen (MeetingsPage/EmailPage) nicht von BasePage abgeleitet. Daher erben sie keine Eigenschaften und Methoden von BasePage.

lesen, bitte, doc https://docs.python.org/2/tutorial/classes.html#inheritance

0

Nein. Sie beschränken nur den Umfang. Wenn Sie möchten, dass die geschachtelte Klasse von einer Basisklasse erbt, tun Sie dies als normal (z. B. class X(Y):).

0

Nein wird es nicht. Eine verschachtelte Klasse verhält sich wie jede "äußere" (nicht verschachtelte) Klasse. Es kann so instanziiert werden.

Bsp.: = DashboardPage obj() MeetingsPage()

Die Methoden einer verschachtelten Klasse kann die Instanz Zugriffsattribute der verschachtelten Klasseninstanz aber nicht irgendeiner äußeren Klasseninstanz.

Verwandte Themen