Funktion vs. Methode mit Paper Mario erklärt

► Hacking mit Python amzn.to/3pxVnmh (*)
► Mein Python-Buch amzn.to/3ARMbw8 (*)
► Ethical Hacking mit ChatGPT amzn.to/3Qf9mID (*)
Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Bei den Amazon-Links (https.//amzn.to/???????) handelt es sich um Affiliate-Links. Wenn du etwas über diesen Link kaufst, bekomme ich eine kleine Provision. Der Preis ändert sich nicht, wenn du über diesen Link einkaufst. Vielen Dank für deine Unterstützung.
Inhalt 📚
In der Programmierung gibt es zwei wichtige Konzepte zur Organisation von Code: FUNKTIONEN und METHODEN. Obwohl sie auf den ersten Blick ähnlich erscheinen mögen, gibt es entscheidende Unterschiede zwischen ihnen. In diesem Video werden wir uns anhand des Spiels Paper Mario genauer damit befassen, was Funktionen und Methoden sind, wie sie sich unterscheiden und wann man sie am besten einsetzt. Du bekommst den Funktionen Methoden Unterschied einfach erklärt.
#Funktione #Methoden #Programmierenlernen
00:00 | Einführung
00:22 | Was ist eine Funktion?
03:55 | Werbung
04:26 | Was ist eine Methode?
07:42 | Funktionen vs. Methoden
SOCIAL MEDIA
💡 Website: www.florian-dalwigk.de
📱 TikTok: / florian.dalwigk
🤳 Instagram: / florian.dalwigk
🐦 Twitter: / florian_dalwigk
📧 E-Mail: mailto:info@florian-dalwigk.de

Пікірлер: 60

  • @br0ski_dev
    @br0ski_devАй бұрын

    Ich finde es mega, dass du so ein greifbares Beispiel nimmst. Das hilft enorm beim Verständnis. Ich meine das allgemein, nicht nur für Methoden und Funktionen.

  • @Florian.Dalwigk

    @Florian.Dalwigk

    Ай бұрын

    Danke dir :) Das werde ich zukünftig noch häufiger machen.

  • @fantasyindustry1762
    @fantasyindustry1762Ай бұрын

    Ich finde es voll cool, dass du Paper Mario zu Hilfe genommen hast, um zu erklären was Funktionen und Methoden sind.

  • @Florian.Dalwigk

    @Florian.Dalwigk

    Ай бұрын

    :)

  • @MelanX
    @MelanX2 ай бұрын

    Ich programmiere mittlerweile 6,5 Jahre und wusste nie den Unterschied. Ich war immer zu faul zu stackoverflowen. Endlich weiß ich es und habe es glaube ich auch so ziemlich immer richtig bei Beschreibungen von Problemen genutzt :D

  • @porky1118

    @porky1118

    2 ай бұрын

    Die Unterschiedung brauchts auch nicht. Methoden sind auch nur Funktionen.

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    Jede Methode ist eine Funktion aber nicht jede Funktion ist auch eine Methode.

  • @oida10000
    @oida100002 ай бұрын

    Zu ergänzen wäre noch, dass man das Konzept mit statischen Methoden auch mischen kann, wenn man aus irgendeinen Grund die Selbstrefrenz nicht braucht, aber die "Funktion" trotzdem einer Klasse unterordnen will. Dazu kommt dann auch noch die Klassenmethode wo es wichtig ist, dass ein Spieler das tut und es unwichtig ist ob es Mario oder Luggi ist.

  • @FilmfanOliver1992

    @FilmfanOliver1992

    2 ай бұрын

    Die Math Lib von java ist static

  • @oida10000

    @oida10000

    2 ай бұрын

    @@FilmfanOliver1992 Ja das hat aber damit zu tun, dass in Java alles ein Objekt ist, also braucht es dieses Class.function()-Konstrukt (aus dem Grund hat man bis Java 21 (?) auch System.out.println für Konsolenoutput verwenden müssen). In Python ist das nicht notwendig, eine Funktion kann klassenlos sein (laut diesen Video ist das sogar der definierende Faktor).

  • @FilmfanOliver1992

    @FilmfanOliver1992

    2 ай бұрын

    @@oida10000 ich beziehe mich auch statische Methoden in Python mit @staticmethod verhält sich das doch genauso klassen.statischeMethode

  • @mehrzweck_mandala

    @mehrzweck_mandala

    2 ай бұрын

    @@oida10000 Nur der Vollständigkeit halber: In Java ist nicht alles ein Objekt - neben den Referenztypen sind auch primitive Datentypen vorhanden - int, float, double, byte, boolean, long, short, char. Folglich keine vollends konsequente "objektorientierte" Sprache, ungeachtet der Wrapper-Klassen für besagte Primitive.

  • @PalaBlood.
    @PalaBlood.Ай бұрын

    Deine Erklärung zu self finde ich sehr gut. Hatte das damals beim lernen kaum verstanden. Ich denke mit diesem Video wäre mir das deutlich schneller klar geworden

  • @Florian.Dalwigk

    @Florian.Dalwigk

    Ай бұрын

    Danke für dein Feedback, das freut mich :)

  • @EmanonthPlays
    @EmanonthPlays2 ай бұрын

    Finde deine Videos sind immer wieder ein super theoritraining😊

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    Das freut mich :)

  • @Nayef1406
    @Nayef1406Ай бұрын

    Das Video kommt zur perfekten Zeit ;D

  • @Florian.Dalwigk

    @Florian.Dalwigk

    Ай бұрын

    So muss das sein ;)

  • @noluyorAbi-hh5mt
    @noluyorAbi-hh5mt2 ай бұрын

    Hallo Florian, deine Videos haben mich inspiriert, mich im Rahmen der Uni auf Software Security zu konzentrieren. Dabei bin ich auf JSON Web Tokens (JWT) gestoßen, ein wirklich interessantes und wichtiges Thema, wie ich finde. Ich habe auf deinem Kanal nach einem Video dazu gesucht, aber noch keines gefunden. Kannst du dir vorstellen, ein Video darüber zu machen, das die Definition, Use-Cases und Funktionalität etc. behandelt? Ein Einblick aus deiner Perspektive und Einschätzung würde mich interessieren, da ich bei der Eigenrecherche auf viele sehr unterschiedliche Meinungen zu JWT gestoßen bin :D Vielen Dank für all deine tollen Inhalte und mach weiter so! Beste Grüße

  • @lilcwn

    @lilcwn

    Ай бұрын

    versuch mal was verrücktes wie z.b. cram-sha1 (nein nicht scram) aber richtig implementieren, man speichert nichts im klartext!

  • @kayoma4966
    @kayoma49662 ай бұрын

    Danke, das war actually sehr verständlich. c:

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    Das freut mich 😁👍

  • @HansPeter-wd3bj
    @HansPeter-wd3bj2 ай бұрын

    Ich verstehe dabei noch nicht ganz wie das bei statischen Methoden dann ist. Also wenn man in Java eine Klasse hat mit einer statischen Methode brauche ich ja kein Objekt um diese aufzurufen ist es dadurch dann keine Methode? Sie ist zwar Teil der Klasse aber nicht eines Objekts

  • @borxanderson8159
    @borxanderson81592 ай бұрын

    Sollte bei 8:20 nicht "Ausserhalb von Klassen" stehen?

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    Ja, richtig ;)

  • @pascal8045
    @pascal80452 ай бұрын

    In C# kann man doch keine Methode ohne Klasse machen. Ist dann die statische Methode auch eine Funktion? Eine Selbstreferenz hat sie ja schließlich nicht, aber dennoch ist sie ja in der Klasse

  • @DevMarco-

    @DevMarco-

    2 ай бұрын

    Merk dir einfach, wenn du die Funktion nur über eine Objektinstanz aufrufen kannst, dann ist es eine Methode. Generell ist jede Methode eine Funktion, jedoch nicht jede Funktion eine Methode.

  • @Fantaztig

    @Fantaztig

    2 ай бұрын

    Statische Funktionen auf Klassen haben die Klasse als Selbstreferenz. Trotzdem sind sie per Definition keine Methode weil kein Objekt Bezug.

  • @skyswimsky1994

    @skyswimsky1994

    Ай бұрын

    Die genaue Definition kann sich spalten, aber im Endeffekt geht es darum das eine Methode den State der Klasse beeinflusst und/oder ihr Verhalten ändert basierend auf den State in der Klasse. (Eine boolean variable in der Klasse und die Methode hat ein if/else zum Beispiel basierend darauf, und der Boolean könnte von einer anderen Methode geändert werden). Du hast in C# durchaus auch nur Funktionen und, wenn möglich, ist es weniger Kopf zerbrechen den State einer Klasse zu reduzieren. Also evtl. variablen als Parameter zu übergeben usw. Evtl. hast du auch IDEs die dir sagen "Du kannst diese Funktion statisch machen", weil sie nichts mit der Klasse zu tun hat.

  • @kleinmarb4362
    @kleinmarb43622 ай бұрын

    Das ist perfekt ich bringe meinem Vater Grad programmieren bei und ich will ihm jetzt nicht direkt am Anfang direkt OOP komplett erklären und wenn ich sage es ist das gleiche nur das das erste Argument bei einer Methode halt das Objekt ist was davor steht und man sozusagen das als Funktion schreiben könnte, ist es schwer für ihn zu verstehen. Also danke für das Video

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    Sehr gerne und viel Erfolg für deinen Vater :)

  • @mo7aZa
    @mo7aZa2 ай бұрын

    Ich frag dich jetzt einfach.... ich beschäfftigemich seit einiger zeit mit c/c++...kann mir aber immer noch nicht erklären, welche code zeilfen für framedrops verantwortlich sind! performance kann ja durch ein array das nicht hintereinander im speicher liegt probleme machen.... das kann es aber nicht sein! was verursacht framedrops in games?!danke und grüß3

  • @bchrasher
    @bchrasher2 ай бұрын

    Moment, kann man einer Funktion nicht auch ein Objekt mitgeben und diese funktioniert dann genau wie eine Methode? Sie unterscheiden sich also nur darin, dass man Methoden örtlich künstlich einschränkt und mit einem Parameter vorbelegt? Und das ganze dann weil es übersichtlicher ist, als wenn man alles mit Funktionen machen würde?

  • @danielf.7151

    @danielf.7151

    Ай бұрын

    Methoden können auf private Variablen einer Klasse zugreifen, Funktionen nicht.

  • @Florian.Dalwigk

    @Florian.Dalwigk

    Ай бұрын

    Wie meinst du "mitgeben"? Fall als Parameter, dann nein. Methoden werden AUF Objekten aufgerufen.

  • @bchrasher

    @bchrasher

    Ай бұрын

    @@danielf.7151 aber nur, weil ihr erster Parameter das Objekt selbst ist, oder? Ich kann doch auch einer Funktion ein Objekt übergeben, dann kann diese auch auf alle seine privaten Variablen zugreifen, oder?

  • @bchrasher

    @bchrasher

    Ай бұрын

    @@Florian.Dalwigk Ja aber diese Unterscheidung macht doch keinen texhnischen Unterschied oder? Ja, die Methode würde ohne Objekt nicht existieren, und es schafft bessere strukturierung für den Programmierer aber sonst? Würde man einer Funktion gleich als erstes ein Objekt als Argument geben, dann könnte diese auch auf dessen private Attribute zugreifen und diese verändern oder? ChatGPT erzählt mir auch dass Methoden nur Funktionen sind, die eben an einen speziellen Speicherplatz innerhalb eines Objekts gebunden sind, und die sich syntaktisch dadurch anders aufrufen lassen. Würde man ihnen das aelf-Argument wegnehmen, hätten sie nicht mal die Möglichkeit auf das Objekt zuzugreifen, zu dem sie gehören.

  • @TheNormMan
    @TheNormMan2 ай бұрын

    Ich hatte bisher "Funktion" und "Methode" einfach analog/synonym verwendet. Til

  • @anno_nym
    @anno_nym2 ай бұрын

    Mich verwundert, dass man in Python immer einen "self"-Parameter übergeben muss, auch wenn dieser beim Methodenaufruf nicht erscheint... In Java und C# macht man das nicht und hat trotzdem Vollzugriff auf "this".

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    Das wurde bei der Entwicklung von Python eben so festgelegt. Ich persönlich finde das durchaus sinnvoll, um nochmal herauszustellen, dass eine Methode vorliegt.

  • @SuperTruperHans
    @SuperTruperHans2 ай бұрын

    Kurz gesagt Aufruf mit/ohne Übergabe und Punktnotation als Befehlserweiterumg 😊😊

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    Sehr kurz gesagt, ja ;)

  • @EmanonthPlays

    @EmanonthPlays

    2 ай бұрын

    Ich denke die schönere Zusammenfassung ist das Funktionen atomar sind, also nur den ihnen übergebenen Kontext verwenden können. Während Methoden auch den Kontext seines Objektes verwenden/manipulieren kann. Also Funktionen sind atomar Methoden kontextbezogen. Ich finde das Prinzip wird recht klar wenn man funktionale Sprachen wie haskell mit klassisch objektorientierten Sprachen wie Java vergleicht

  • @Serpensin
    @Serpensin2 ай бұрын

    Ich missbrauche Klassen (ohne init) teilweise für die Strukturierung von Funktionen. XD

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    Interessanter Ansatz 😂 Aber wären Module da nicht besser geeignet?

  • @Lugge1999

    @Lugge1999

    2 ай бұрын

    hab ich tatsächlich auch schon mal gemacht für kleine skripte. Hab in Python noch keine Möglichkeit gefunden, namespaces wie z.b. in c++ zu definieren. Die schönste Lösung wäre natürlich ein eigenes Modul. Aber manchmal ist man dann doch etwas faul vor allem bei kleineren skripten xD

  • @Serpensin

    @Serpensin

    2 ай бұрын

    @@Florian.Dalwigk Mache ich auch, sofern dies möglich ist. Allerdings ist das (bei meinem) DiscordBot relativ schwierig, da die Funktionen teilweise sehr stark von anderen abhängig sind. Vielleicht sollte ich den mal neu schreiben... XD

  • @nyx8026
    @nyx80262 ай бұрын

    Krass, dachte immer, dass Funktionen und Methoden das Gleiche sind. Zumindest behaupten dies einige meiner Lehrer...

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    Man _kann_ es so sehen ... ich persönlich finde die Unterscheidung aber tatsächlich sinnvoll (auch aus didaktischer Sicht).

  • @PalaBlood.
    @PalaBlood.Ай бұрын

    Paper Mario ist toll

  • @Florian.Dalwigk

    @Florian.Dalwigk

    Ай бұрын

    Oh ja!

  • @iv7896
    @iv78962 ай бұрын

    meinung zum voratsdattenspeicherung ?

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    Sehe Playlist zur Cybersicherheit

  • @man100111
    @man1001112 ай бұрын

    Vielleicht bin ich bis jetzt zu viel in Java unterwegs gewesen, aber ich verstehe nicht ganz welche Vorteile es bringt "self" jedes mal in die Parameter schreiben zu müssen.

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    self ist das this in Python. Vorteile hat das keine, man definiert das in Python eben so.

  • @carisameyer
    @carisameyer2 ай бұрын

    Mathe ist toll

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    Richtig ;)

  • @carisameyer
    @carisameyer2 ай бұрын

    Funktionen?? Mathe 😟

  • @Florian.Dalwigk

    @Florian.Dalwigk

    2 ай бұрын

    Ja