PHP Interfaces & Polymorphism - Interfaces Explained - Full PHP 8 Tutorial

Поділитися
Вставка
  • Опубліковано 18 вер 2024
  • In this video, you will learn interfaces & polymorphism in object-oriented PHP. With simple to understand & practical examples, this video will help you understand what interfaces are, how they should be used & what problems interfaces solve. In addition to learning interfaces & polymorphism, you will also learn what are some of the differences between interfaces and abstract classes.
    NOTE
    5:20 - Overriding constants from the interface is now allowed in PHP 8.1, this video uses PHP 8.0 where it was not allowed & resulted in an error.
    SOME OF THE WAYS YOU CAN SUPPORT THE CHANNEL
    👍 Smash the like button
    🤝 Subscribe to the channel & turn the notifications on
    💬 Post comments, any feedback is greatly appreciated
    ⭐ Become a Patreon: / programwithgio
    THANK YOU!
    LESSON 2.11
    Course Outline - github.com/gge...
    Course Playlist - • Learn PHP The Right Wa...

КОМЕНТАРІ • 173

  • @ronniefaithparalejas7678
    @ronniefaithparalejas7678 2 роки тому +62

    Am i the only one who notice these videos are better than any PHP premium or paid tutorial videos out there? Thanks for these great videos!

    • @ProgramWithGio
      @ProgramWithGio  2 роки тому +4

      Thank you 🙏💙

    • @DAG_r8
      @DAG_r8 Рік тому +3

      One thing for sure it is always concise and precise, I would recommend this to many php developer, we are all apprentice.

    • @KIKOmanasijev
      @KIKOmanasijev Рік тому +5

      Yep, I have bought many courses and none of the matches the quality of Gio's content. Still can't believe this is free and Gio doesn't have more engagement on this channel 🤯

    • @Cronay
      @Cronay Рік тому +1

      100% true. So many tutors bring their character and with that unnecessary fluff into their content. Gio is different. It's just straight and dense knowledge and has just the right amount of his personal opinion in the video(barely any).

    • @paulbitoana6989
      @paulbitoana6989 10 місяців тому

      I just canceled the subscription because of these videos.

  • @JohnnyBigodes
    @JohnnyBigodes 3 роки тому +26

    That independent debt collector made my day ;). It is again a great video... Thank you

  • @JoseManuelCornelio
    @JoseManuelCornelio Рік тому +4

    These videos are so dense that I really have to take some time to digest the content before moving on to the next one. This is better than any paid course out there so far.

    • @ProgramWithGio
      @ProgramWithGio  Рік тому +1

      Thank you, appreciate it 🙏. Taking some time & digesting it before moving on is proper way to consume content & learn. Binge watching doesn't work for a lot, may work for some but for me personally never worked, if I binge watch a course I forget it very fast, so I like to take my time with each episode when learning something new

  • @federicobau8651
    @federicobau8651 2 роки тому +9

    Best php oop with interfaces and polymorphism tutorial, bettern than paid bootcamps

  • @codedigitally9236
    @codedigitally9236 2 роки тому +10

    The way instructor has describe the OOPS concepts with realtime examples and cases is really awesome.

  • @dajanradovic5341
    @dajanradovic5341 2 роки тому +12

    great teacher, great examples and way of teaching. thank you for clearing up all these concepts

  • @neozes
    @neozes 9 місяців тому +2

    Dude! This was amazing! The fact, that you have covered the topic from all angels was just spectacular. I just came here from another video, that just explained how to implement interfaces, without any context, especially... what damn problem is this utility solving. Thank you!

    • @ProgramWithGio
      @ProgramWithGio  9 місяців тому

      That's great to hear, thank you 🙌

  • @mwaas
    @mwaas Рік тому +2

    Aside from php, anyone who wants to understand oop should watch this section of the course
    more than great

  • @affordablecustomehr4845
    @affordablecustomehr4845 Місяць тому

    After watching this video many times, I have finally got an opportunity to use it in one of my projects. I recognized the situation I was about to go into needed an interface to keep the system flexible for the future. I needed to build multiple types of XML requests. Using and interface, I only need one gateway class to pass the different XML request to. Thanks Gio!!

    • @ProgramWithGio
      @ProgramWithGio  24 дні тому

      Awesome, that's great that you were able to apply this to a real world scenario. Good job

  • @Zubbee
    @Zubbee 2 роки тому +5

    This is another mind opening lesson in my quest to learn PHP. I also think this is the lesson that is now compelling me to go back and look at some of the earlier OOP lessons to really link terms and concepts better. It has certainly started feeling like I'm taking a course in the University. Thanks Gio

  • @techatival
    @techatival 3 роки тому +8

    Really liked the polymorphism example. Thank you!

  • @parinataneja7099
    @parinataneja7099 2 роки тому +3

    Another AWESOME tutorial. Thank you for elaborating all these concepts :)

  • @sergeisurin2963
    @sergeisurin2963 Рік тому +1

    A really good course, one that doesn't just go over the basics, what I've always hoped to see.

  • @OmarFaruk-ku9fv
    @OmarFaruk-ku9fv 7 місяців тому

    You just cleared my doubts and concepts of these topics , which i spent a lot of time searching . Your videos are to the point , with a lot necessary information and with examples . This blew my mind . Kudos to you .

  • @emredikmen276
    @emredikmen276 2 місяці тому

    you are the best at explaining , thanks Gio

  • @d_sportello
    @d_sportello 2 роки тому +1

    Thanks man, really helpful

  • @karam0101
    @karam0101 2 роки тому +1

    Another great tutorial. Thank you for sharing all these concepts

  • @jaywaldluna3158
    @jaywaldluna3158 Рік тому +1

    Very informative video. Good job for the sample analogy. Keep uploading like this tutorial

  • @leoortega5420
    @leoortega5420 Рік тому +1

    You explained interfaces and their use-cases better than my university professor.

  • @CarolinaQVargas
    @CarolinaQVargas Рік тому

    GREAT EXPLANATION! Thank you so much!

  • @David92031
    @David92031 9 місяців тому

    10/10 channel my dude you are awesome

  • @Zubbee
    @Zubbee 2 роки тому

    Done re-watching. Moving on. Thanks Gio.

  • @Armando-px8hi
    @Armando-px8hi Рік тому

    Thanks for this interface explanation. It is the best!!!

  • @Vitalii-m6r
    @Vitalii-m6r Рік тому

    It's a very clear explanation. Thanks for this lesson again.

  • @tahmidziko
    @tahmidziko 22 дні тому

    your video is just awesome. a lot of things i learned from you. i owe you. on thing i want to add in php 8.1 there is may be a new feature default methods in interface . (if i am not wrong )

    • @ProgramWithGio
      @ProgramWithGio  20 днів тому

      That RFC didnt pass I think if its what you mean (default methods). Maybe you meant constants?

  • @donmikele07
    @donmikele07 9 місяців тому

    I think I've already said but I'll repeat: you are the guru for programming. Masterpeace!
    I"m 2 years in software engineering and I would like to hear your opinion about learning design patterns in OOP: creational, structural, behavioral. How important they are?

    • @ProgramWithGio
      @ProgramWithGio  9 місяців тому +1

      Thank you. Design patterns are important but it depends on project & requirements. For some projects you may never use any design patterns. For some you may already be using design patterns without knowing it or without having the fancy name for it. Many devs try to stick design patterns in places where they don't belong, just because they want to use the cool new design pattern they read about someone's blog. I would advise to not do that because I've done that & its not good in the long run. Best thing to do is to understand your requirements & project fully and see what problems you need to solve.

    • @donmikele07
      @donmikele07 9 місяців тому +1

      @@ProgramWithGio Thank you so much! This means a lot to me.

  • @user-mo3cw6go7c
    @user-mo3cw6go7c Рік тому

    Wow! Perfect explanation!!!

  • @rxxt-sh1vj
    @rxxt-sh1vj 2 роки тому +2

    Bro at 5:25 you said constants Defined in intefaces cannot be overridden by the concrete class that implements that interface but in PHP 8.1.0 we can override the constants...just in case someone tries that out on a Newer Version....:D Loving your videos watching them one by one...Your PHP course is the best one on internet....Even a paid course on UDEMY cannot match the concept and effort you have put in your videos...:D

    • @ProgramWithGio
      @ProgramWithGio  2 роки тому +1

      Yea this lesson was using 8.0. There is a note about it in the description. Thank you 🙌💙

    • @rxxt-sh1vj
      @rxxt-sh1vj 2 роки тому +1

      @@ProgramWithGio You dont miss even a single thing...:D

  • @Haamome
    @Haamome 2 роки тому

    you are the best at explaining. I really like your tutorial.

  • @udayan285
    @udayan285 10 місяців тому

    Thank you Gio.

  • @kajo2546
    @kajo2546 2 роки тому +3

    Hey, I have a question. In the video you said that constant defined in the interface can not be overwritten in the class however I am able to do that. Did something change ?
    Inteface:
    public const MY_CONSTANT = 1;
    some Class:
    public const MY_CONSTANT = 2; or whatever other value
    This does not throw an error for me.

    • @ProgramWithGio
      @ProgramWithGio  2 роки тому +6

      Yes in php 8.1 it is allowed now, prior to 8.1 it resulted in error. When this video was shot we were using php 8.0. We upgraded to 8.1 soon after and there is a video about 8.1 changes

  • @kooroshmoshrefi3377
    @kooroshmoshrefi3377 2 роки тому

    Nicely explained. Thank you.

  • @emekatimothyiloba699
    @emekatimothyiloba699 Рік тому

    Thank you Gio

  • @eashikanaznineasha
    @eashikanaznineasha Рік тому

    Best tutorials on PHP so far!
    Could you please share the code as well?

    • @ProgramWithGio
      @ProgramWithGio  Рік тому

      Some lessons have link to the repo in description. For some lessons there is nothing to share since they are more of theory type lessons

  • @romankiashko5435
    @romankiashko5435 Рік тому

    What to say except - Bravo!

  • @vkmishra.singer
    @vkmishra.singer 2 роки тому

    Best !!!! I hope you to create other courses in the future.

  • @carlosortiz5283
    @carlosortiz5283 2 роки тому

    This is a very interesting lesson, thank you

  • @samahgad241
    @samahgad241 Рік тому

    Is it expected that the video takes hours for me to understand it? Thank you very much. You have a fantastic way of explaining

    • @ProgramWithGio
      @ProgramWithGio  Рік тому +1

      Everyone learns at different pace, so yes it's normal. Just be consistent and practice 👍

    • @samahgad241
      @samahgad241 Рік тому +1

      @@ProgramWithGio thanks for your support, I wish you a nice day. 💐🙏

  • @AMoktar
    @AMoktar Рік тому

    Awesome 👏 thanks

  • @rustem6388
    @rustem6388 Рік тому

    Very useful! Thank you!🤩

  • @ahmedmubarak8642
    @ahmedmubarak8642 Рік тому

    Thank you so much.

  • @ilya_123__
    @ilya_123__ 10 місяців тому

    thank you!

  • @memack101
    @memack101 2 роки тому

    Thank you.

  • @bevedel
    @bevedel 2 роки тому

    Thank you so much!

  • @ousssika5359
    @ousssika5359 8 місяців тому

    thanks man

  • @GillesBeaulacJoe
    @GillesBeaulacJoe 2 роки тому

    Thanks!

  • @RedZambala
    @RedZambala Рік тому

    around 8:59 it sort-of works, but on some random numbers I 'm getting Warnings: Deprecated: Implicit conversion from float 368.5 to int loses precision in \CollectionAgency.php on line 15
    Collected $545 out of $737

    • @ProgramWithGio
      @ProgramWithGio  Рік тому +1

      You are probably on PHP 8.1, during this video we used 8.0 I think, we upgrade to 8.1 later in the series. You can read more info on that here php.watch/versions/8.1/deprecate-implicit-conversion-incompatible-float-string
      It will trigger warnings when float is implicitly converted to int, so you need to add casting (int) or make sure you pass/use integer

  • @dangnhattrinh5500
    @dangnhattrinh5500 Рік тому

    So if I understand, every time I have the Dependency Injection, that dependency should be an Interface, because if it is a concrete class, that violate to the Liskov principal. Am I correct?

    • @ProgramWithGio
      @ProgramWithGio  Рік тому

      You don't have to have interface all the time. Its better yes to inject any implementation rather than a concrete class, but you also don't want to overdo it. It depends on the app & the type of class you are injecting.

  • @siyahkedilucifer
    @siyahkedilucifer Рік тому +1

    So if a class implement an interface that must implement all methods in the related interface. In the another hand, at 15:20, an abstract class implemented an interface but didn't implement the render method in Renderable interface. So abstract classes are exempted from that rule?
    Thank you so much for lecture.

    • @ProgramWithGio
      @ProgramWithGio  Рік тому +2

      Abstract classes don't need to implement it, underlying class that extends that abstract class will have to implement it. If you implement it withim abstract class then child classes don't need to implement it. You can't instantiate an abstract class directly.

    • @siyahkedilucifer
      @siyahkedilucifer Рік тому +1

      @@ProgramWithGio thanks for this precious info.

  • @dotsad
    @dotsad 2 роки тому

    and my mind started melting again, also do you think is a good idea to start learning laravel before learning advanced php?

    • @ProgramWithGio
      @ProgramWithGio  2 роки тому +1

      It's ok, some of these concepts are not easy to get on first try, it took me some time as well when I was first learning so don't worry if you don't get it right away. You can learn Laravel in parallel, some of the topics in advanced series will help you understand how Laravel works behind the scenes

  • @RamonaAtkinson
    @RamonaAtkinson Рік тому

    Genius!!!!!!!

  • @josephjohn4810
    @josephjohn4810 Рік тому

    can you create a donation link? these videos worth more than diamonds 😁 thumbs up

    • @ProgramWithGio
      @ProgramWithGio  Рік тому +1

      Thank you. I have Patreon (link in description) and there is also Super Thanks feature on UA-cam under each video 💙

  • @dawid_dahl
    @dawid_dahl 3 роки тому +1

    My mind makes me think of the Strategy pattern when I listen to this. Interfaces sounds perfect when implementing that pattern, am I wrong?

    • @ProgramWithGio
      @ProgramWithGio  3 роки тому +1

      Nope you are not wrong. That's pretty much how strategy pattern is implemented

  • @agahozoclaire9605
    @agahozoclaire9605 Рік тому

    In previously videos you say inheritance cannot inherit multiple inheritance but in course of abstraction you , class field inherit text and boolean and boolean inherit checkbox and radio? before using abstract

    • @agahozoclaire9605
      @agahozoclaire9605 Рік тому

      sorry multiple class*

    • @ProgramWithGio
      @ProgramWithGio  Рік тому +1

      @@agahozoclaire9605 PHP doesn't have multiple inheritance support. You can extend a class that extends another class but that's not really multiple inheritance, multiple inheritance would be something like ClassA extends ClassB, ClassC

    • @agahozoclaire9605
      @agahozoclaire9605 Рік тому

      @@ProgramWithGio thanks🙏

  • @brangja4815
    @brangja4815 Рік тому

    I don't understand why the property passed into the method should be specific? Can't we just leave it as $collector?

    • @ProgramWithGio
      @ProgramWithGio  Рік тому

      You don't have to, but its good to type hint everything, at least in my opinion. It prevents future bugs. You will notice I use strict types in most of my videos & type hint everything. Typehinting to specific class/interface gives you autocomplete features in IDE as well as assurance that no other type is allowed.

  • @BehzodSabirov
    @BehzodSabirov 2 роки тому

    Aaah...Now I get it

  • @johongirrahimov2343
    @johongirrahimov2343 3 роки тому

    So it's Composition then right? In Composition we can use the same methods in 2 ore more unrelated classes?

    • @ProgramWithGio
      @ProgramWithGio  3 роки тому

      Kind of, we'll cover composition in more detail in 3rd section

  • @ahmedyasser571
    @ahmedyasser571 5 місяців тому

    when the abstract class implemented the interface it didn't give an error that the class must declare the interface methods. why this happened?

    • @ProgramWithGio
      @ProgramWithGio  4 місяці тому

      Because its an abstract class, if you dont define the method in abstract class, you would have to define it in the class that extends that abstract class. You can't instantiate the abstract classes directly

    • @ahmedyasser571
      @ahmedyasser571 4 місяці тому

      @@ProgramWithGio excuse me can you elaborate more

    • @ProgramWithGio
      @ProgramWithGio  4 місяці тому +1

      @@ahmedyasser571 In abstract classes you don't have to define the interface methods because its an abstract class, you can't create a new object directly from abstract class, you typically create a new object of some other class that extends your abstract class. That child class that extends your abstract class will need to define the interface methods if its not defined in your abstract class.

    • @ahmedyasser571
      @ahmedyasser571 4 місяці тому

      @@ProgramWithGio thank you

  • @dhirendrasinghnegi7948
    @dhirendrasinghnegi7948 Рік тому

    how are you running your code in editor terminal pls explain

    • @ProgramWithGio
      @ProgramWithGio  Рік тому

      It's phpstorm terminal within the IDE, you just need to connect to your docker container and run commands there. I showed that in Docker lesson beginning of section 2.

    • @dhirendrasinghnegi7948
      @dhirendrasinghnegi7948 Рік тому +1

      @@ProgramWithGio thanks Gio you are very kind

    • @ProgramWithGio
      @ProgramWithGio  Рік тому

      @@dhirendrasinghnegi7948 you're welcome 🙌

  • @saugmaddox349
    @saugmaddox349 3 роки тому

    Hello sir, here is my question
    abstract class x
    {
    protected function x: void
    protected function y: array
    protected function z: string
    private function a: void
    private function x: void
    }
    How can i make an interface for an abstract method..it has no public methods.Assume that abstract class x will be inherited by another class Y which will not be abstract...Can we make an interface for such an abstract class X that has no public methods and only contains protected and private methods??

    • @ProgramWithGio
      @ProgramWithGio  3 роки тому +1

      Hello. That's one of the differences between abstract class and interface. You can't have private/protected methods in an interface, only public.

  • @ozorg
    @ozorg 2 роки тому

    no - playback speed is not set to 1,25 .... ;) ... great info though! thx!

  • @FGj-xj7rd
    @FGj-xj7rd 2 роки тому

    That independent debt collector is all kinds of suspect 😂😂

  • @rxxt-sh1vj
    @rxxt-sh1vj 3 роки тому

    Bro on some methods I have seen the return type as name of the Interface...What does that mean...how can a return type be an interface ??

    • @ProgramWithGio
      @ProgramWithGio  3 роки тому

      It's the same way as accepting arguments as interface. You are returning some implementation of interface. You can return concrete classes as long it implements that interface.

    • @rxxt-sh1vj
      @rxxt-sh1vj 3 роки тому

      You mean to say any class that implements that interface is returned..Is that what it means ?

    • @ProgramWithGio
      @ProgramWithGio  3 роки тому +1

      @@rxxt-sh1vj Yes. It works the same way as in arguments. It's polymorphism, you are returning an instance of an interface, so you know that this method call will return some type of instance of that interface without being too specific. Has the same benefits as using polymorphism in arguments.

    • @rxxt-sh1vj
      @rxxt-sh1vj 3 роки тому

      @@ProgramWithGio Would request you to make a video on interface type hinting that also cover return type of Interface...Thanks for taking the time to reply...I am confused..:D Returning an instance of interface means any class that implements the interface... that class object will be returned..hope that I am correct..:D

    • @ProgramWithGio
      @ProgramWithGio  3 роки тому +1

      @@rxxt-sh1vj Watch this lesson again from 10:00 mark, its the same idea with returns. For example:
      interface MyInterface {}
      ClassA implements MyInterface {}
      ClassB implements MyInterface {}
      ClassC {
      public function someFunction(): MyInterface
      {
      // this function can now return any implementation of that interface, it can
      return new ClassA();
      // or it can return ClassB
      return new ClassB();
      }
      }

  • @Netpilation
    @Netpilation 3 місяці тому

    Rule of interfaces in php

  • @rxxt-sh1vj
    @rxxt-sh1vj 3 роки тому

    Bro I have one more ques...Is it necessary that an interface must be used whenever there is polymorphism...I have a class that has 15 public methods with 4-5 private methods...For better organisation of the code and readability of the implemented methods in the class... I want to make an interface and define 15 public methods signature in the interface. Is that a good practice or bad practice according to you..??

    • @ProgramWithGio
      @ProgramWithGio  3 роки тому

      Don't overuse the interface. If all those 15 methods are related then yea you can extract them in an interface, however, if some of those methods are not really related then you might want to extract them into multiple interfaces. Also, do you plan on implementing this interface in other classes as well?

    • @rxxt-sh1vj
      @rxxt-sh1vj 3 роки тому

      @@ProgramWithGio I will not implement any of the interface in other classes...Only one class will implement a single interface in my case...:D Whats your suggestion bro..:D

    • @ProgramWithGio
      @ProgramWithGio  3 роки тому +1

      @@rxxt-sh1vj It's up to you, I personally would not create an interface unless I saw the need to implement it in multiple classes or the need to have polymorphism. No need to overcomplicate things. Also the main deciding factor is if the methods you are planning on putting in an interface are actually related, like if one method processes transaction & other method sends an email then these two are not really related & should not be part of the same interface, you would have two interfaces one called ProcessableInvoice & Mailable interface

    • @rxxt-sh1vj
      @rxxt-sh1vj 3 роки тому

      @@ProgramWithGio Bro all methods in my interface are interdependent....like I built an orm that has methods like table ...select...where....getSQL(); when all methods are chained it produces a statement like...... select * from users where id = ?.
      I am building a PHP framework from absolute scratch that will outperform laravel in terms of sheer speed with lowest possible size...It will be under 1 MB in size with less than 150 files and will work with single library developed by me ...the project will not need any other external dependency. My ORM can inject 10,000 records in my sql database in mere 1.64 seconds. If you will compare laravel it has 6700 files approx on just fresh installation. File size is around 32MB which cripples performance on the production server....according to my calculations as the project becomes complex..:D

    • @ProgramWithGio
      @ProgramWithGio  3 роки тому +1

      @@rxxt-sh1vj Got it, they are then related to each other because it's a QueryBuilder essentially, so you could have QueryBuilder interface and if in future you decide to switch from MySQL to something else, you would simply create another driver class and implement that interface

  • @paatuc6457
    @paatuc6457 2 роки тому

    Should I just skip these advanced OOP methods, since these feels a bit too complicated and return to these when more advanced ?

    • @ProgramWithGio
      @ProgramWithGio  2 роки тому +1

      Skipping OOP is not ideal because you will need OOP if you want to work with PHP. Which topic/concept is more complicated for you? I would rewatch videos on those topics and also I would read some articles on those topics. If you have specific questions feel free to DM me on Twitter

    • @paatuc6457
      @paatuc6457 2 роки тому +1

      @@ProgramWithGio Thanks for reply, you are easily best php or any coding language teacher, I just ate too much information for one day, I need to go slower and actually code these OOP examples to my end as well and I'm starting to get this slowly :D

    • @ProgramWithGio
      @ProgramWithGio  2 роки тому

      @@paatuc6457 thank you. That is a good idea, take your time & if you have questions don't hesitate to ask 🙌

  • @أحمدكلش-ض3ع
    @أحمدكلش-ض3ع Рік тому

    lower the speed plz

    • @ProgramWithGio
      @ProgramWithGio  Рік тому +1

      I improved on that in third section. You can also lower the speed yourself on UA-cam. Simply click gear ⚙️ icon and set the desired speed 👍

    • @أحمدكلش-ض3ع
      @أحمدكلش-ض3ع Рік тому +1

      @@ProgramWithGio thanks

  • @realchicagophill
    @realchicagophill 2 роки тому

    I think the concept of abstract is too abstract for my mind to understand.

    • @ProgramWithGio
      @ProgramWithGio  2 роки тому

      Feel free to reach out to me on Twitter & we can discuss any questions you might have about it.

  • @mohamedaltahan4875
    @mohamedaltahan4875 5 місяців тому

    thanks so munch, but you speak so fast

    • @ProgramWithGio
      @ProgramWithGio  5 місяців тому +2

      Sorry about that. You can slow it down on UA-cam by clicking on ⚙️ icon and set the playback speed

  • @SamuelNasta
    @SamuelNasta 2 роки тому

    Editing tip: you don't leave ANY room for breathing
    Your WHOLE VIDEO looks like one enormous phrase.
    Yes, you should cut the spaces of breathing WITHIN phrases.
    But yes, you absolutely should leave some room for the brain to absorb the information you're providing.

    • @SamuelNasta
      @SamuelNasta 2 роки тому

      Try to read the same message like you speak in your videos instead editing tip you don't leave any room for breathing your whole video looks like one enormous phrase yes you should cut the spaces of breathing within phrases but yes you absolutely should leave some room for the brain to absorb the information you're providing

    • @ProgramWithGio
      @ProgramWithGio  2 роки тому +2

      Thank you. I improved on this in later videos a little bit & will keep in mind for future as well. It's not just editing, it's just the way I speak :). Need to slow down a bit. UA-cam lets you slow it down also & set the playback speed which should help a bit, but I get what you are saying

    • @SamuelNasta
      @SamuelNasta 2 роки тому

      @@ProgramWithGio Another thing that I found later in the video
      In the middle parts you talked about many scenarios, wrote the code for it, but just didn't test it.
      If something is relevant, maybe spend 5 more seconds to run the code to show it makes it much easier to understand. Even if you talked what would be the scenario, if you didn't show it, the brain wouldn't grasp the information like it would SEEING it.
      It's the same if you give advice to a friend. hehehehe

    • @ProgramWithGio
      @ProgramWithGio  2 роки тому +3

      Thank you, I do try to run it every time to verify that it works, maybe I missed it in few places. Can you give me an example of where I did not run the example code?

    • @SamuelNasta
      @SamuelNasta 2 роки тому +1

      @@ProgramWithGio 11:43 in the instanceof example

  • @omaryahia
    @omaryahia 11 місяців тому

    The incredible Gio Course🫡🥰☺