Funktion vs. Methode mit Paper Mario erklärt

  Рет қаралды 8,308

Florian Dalwigk

Florian Dalwigk

Күн бұрын

► 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 2 ай бұрын
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 2 ай бұрын
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
@MelanX 2 ай бұрын
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
@oida10000 2 ай бұрын
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. 2 ай бұрын
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 2 ай бұрын
Danke für dein Feedback, das freut mich :)
@EmanonthPlays
@EmanonthPlays 2 ай бұрын
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-hh5mt 2 ай бұрын
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 2 ай бұрын
versuch mal was verrücktes wie z.b. cram-sha1 (nein nicht scram) aber richtig implementieren, man speichert nichts im klartext!
@kayoma4966
@kayoma4966 2 ай бұрын
Danke, das war actually sehr verständlich. c:
@Florian.Dalwigk
@Florian.Dalwigk 2 ай бұрын
Das freut mich 😁👍
@pascal8045
@pascal8045 2 ай бұрын
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 2 ай бұрын
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.
@HansPeter-wd3bj
@HansPeter-wd3bj 2 ай бұрын
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
@borxanderson8159 2 ай бұрын
Sollte bei 8:20 nicht "Ausserhalb von Klassen" stehen?
@Florian.Dalwigk
@Florian.Dalwigk 2 ай бұрын
Ja, richtig ;)
@kleinmarb4362
@kleinmarb4362 2 ай бұрын
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 :)
@TheNormMan
@TheNormMan 2 ай бұрын
Ich hatte bisher "Funktion" und "Methode" einfach analog/synonym verwendet. Til
@mo7aZa
@mo7aZa 2 ай бұрын
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
@bchrasher 2 ай бұрын
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 2 ай бұрын
Methoden können auf private Variablen einer Klasse zugreifen, Funktionen nicht.
@Florian.Dalwigk
@Florian.Dalwigk 2 ай бұрын
Wie meinst du "mitgeben"? Fall als Parameter, dann nein. Methoden werden AUF Objekten aufgerufen.
@bchrasher
@bchrasher 2 ай бұрын
@@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 2 ай бұрын
@@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.
@SuperTruperHans
@SuperTruperHans 2 ай бұрын
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
@anno_nym
@anno_nym 2 ай бұрын
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.
@nyx8026
@nyx8026 2 ай бұрын
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).
@Serpensin
@Serpensin 2 ай бұрын
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
@man100111
@man100111 2 ай бұрын
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.
@PalaBlood.
@PalaBlood. 2 ай бұрын
Paper Mario ist toll
@Florian.Dalwigk
@Florian.Dalwigk 2 ай бұрын
Oh ja!
@iv7896
@iv7896 2 ай бұрын
meinung zum voratsdattenspeicherung ?
@Florian.Dalwigk
@Florian.Dalwigk 2 ай бұрын
Sehe Playlist zur Cybersicherheit
@carisameyer
@carisameyer 2 ай бұрын
Mathe ist toll
@Florian.Dalwigk
@Florian.Dalwigk 2 ай бұрын
Richtig ;)
@carisameyer
@carisameyer 2 ай бұрын
Funktionen?? Mathe 😟
@Florian.Dalwigk
@Florian.Dalwigk 2 ай бұрын
Ja
itertools Python (einfach erklärt)
10:58
Florian Dalwigk
Рет қаралды 2,2 М.
ALLE Python Keywords in EINEM Video erklärt | #Python
14:06
Florian Dalwigk
Рет қаралды 59 М.
Mom's Unique Approach to Teaching Kids Hygiene #shorts
00:16
Fabiosa Stories
Рет қаралды 35 МЛН
Ouch.. 🤕
00:30
Celine & Michiel
Рет қаралды 16 МЛН
Finger Heart - Fancy Refill (Inside Out Animation)
00:30
FASH
Рет қаралды 27 МЛН
Получилось у Миланы?😂
00:13
ХАБИБ
Рет қаралды 4,5 МЛН
A* Algorithmus EINFACH erklärt (Beispiel)
6:47
Florian Dalwigk
Рет қаралды 7 М.
Mache nicht diese 10 Anfänger Fehler in PYTHON (einfach erklärt)
10:15
The 3 Laws of Writing Readable Code
5:28
Kantan Coding
Рет қаралды 440 М.
Objektorientierte Programmierung in 7 Minuten (die vier Säulen)
6:51
OK Google, wie funktioniert der PAGE RANK ALGORITHMUS? | #MATHEMATIK
7:40
Compiler vs. Interpreter (einfach erklärt)
8:03
Florian Dalwigk
Рет қаралды 7 М.
FTP vs. SFTP vs. TFTP einfach erklärt | #Netzwerktechnik
8:17
Florian Dalwigk
Рет қаралды 4,4 М.
FP vs OOP | For Dummies
8:43
BasicOverflow
Рет қаралды 181 М.
C++ vs Rust: which is faster?
21:15
fasterthanlime
Рет қаралды 385 М.
SICHERER als das TOR-Netzwerk?
9:53
Florian Dalwigk
Рет қаралды 24 М.
Mom's Unique Approach to Teaching Kids Hygiene #shorts
00:16
Fabiosa Stories
Рет қаралды 35 МЛН