Klassen frage..

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Kalysto
User
Beiträge: 117
Registriert: Freitag 14. April 2017, 15:28

Hallo zusammen,

Ich habe eine Frage zu der Class-Methode:
Und zwar ist es möglich zwischen zwei Klassen variablen abzurufen und zu setzten ?

Zur Zeit mache ich es mit global aber das soll man ja möglichst nicht verwenden...

Ich danke schon mal für die Nachricht:D
Benutzeravatar
__blackjack__
User
Beiträge: 14054
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Kalysto: Funktionen und Methoden bekommen was sie ausser Konstanten benötigen als Argument(e) übergeben. Ansonsten müsstest Du mal etwas konkreter werden.

Ach so: Du meinst wahrscheinlich auch Exemplare und nicht Klassen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Kalysto
User
Beiträge: 117
Registriert: Freitag 14. April 2017, 15:28

Also genau meinte ich ich erzeuge mir eine Variable in meiner ersten Klasse.
Und benutze reportlab um mir pdfs zu erzeugen diese hat nochmals eine eigene Klasse worin ich einen variable der vorherigen Klasse bräuchte.

Wenn ich’s nicht richtig erklärt haben sollte mache ich später mal noch ein bsp dazu.
Kalysto
User
Beiträge: 117
Registriert: Freitag 14. April 2017, 15:28

Hier mal noch ein bsp. dazu was ich genau meinte:

Code: Alles auswählen

class get_data_from_mariadb():
ist meine main class.
Hierin erstelle ich mir meine SQL ausgaben und Erstelle mir eine PDF:

Code: Alles auswählen

pdf.build(elems, onFirstPage=myFirstPage, onLaterPages=myLaterPages, canvasmaker=NumberedCanvas)
die nächste class: NumberedCanvas (Fügt seitenanzahlen hinzu)

Code: Alles auswählen

class NumberedCanvas(Canvas):
benötigt nun von der Class get_data_from_mariadb eine Variable...

Code: Alles auswählen

doc.width
mir ist spontan nur global eingafallen um dies zu lösen und da wäre meine Frage wie man das am "richtigsten" anstellen würde ?
Benutzeravatar
__blackjack__
User
Beiträge: 14054
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Kalysto: Das erste ist weder von der Schreibweise den Namens noch von dem was da inhaltlich steht eine Klasse. Das sieht sehr nach einer Funktion aus.

Ansonsten bleibt die Antwort die gleiche: die Funktion oder Methode muss da irgendwie über die Argumente ran kommen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Kalysto
User
Beiträge: 117
Registriert: Freitag 14. April 2017, 15:28

Ja das erste schon...
Aber die zweite nicht

Code: Alles auswählen

 pdf.build(elems, onFirstPage=myFirstPage, onLaterPages=myLaterPages, canvasmaker=NumberedCanvas) 
Ich kann ja hier: canvasmaker=NumberedCanvas keine Argumente angeben oder geht das doch irgend wie ?

Denn sobald ich sowas teste:

Code: Alles auswählen

 pdf.build(elems, onFirstPage=myFirstPage, onLaterPages=myLaterPages, canvasmaker=NumberedCanvas(argument)) 
Gibt es eine Fehlermeldung..
Antworten