Конструкторы в Java Core: Как правильно создавать и инициализировать объекты

Поділитися
Вставка
  • Опубліковано 16 лис 2024

КОМЕНТАРІ • 13

  • @student-e2z
    @student-e2z 5 днів тому

    Спасибо за Ваш труд

  • @tomvenom
    @tomvenom 8 днів тому

    Вы топ. Уроки классные. Спасибо)

  • @tomvenom
    @tomvenom 8 днів тому

    Сделайте пожалуйста урок по super(). Буду благодарен)

    • @catcoding
      @catcoding  7 днів тому +1

      Видео будет чуть позже 🙂

  • @tomvenom
    @tomvenom 8 днів тому +1

    Я не понимаю одну вещь,при создании объектов. Я привык всегда видеть A a = New A(); А что означает например A a = new B(); или же B b = new A(); ?

    • @catcoding
      @catcoding  7 днів тому +1

      То, что вы приводите в пример - динамический полиморфизм.
      В Java полиморфизм позволяет объектам дочерних классов быть представленными как объекты родительских классов. Например, если есть родительский класс Parent и дочерний класс Child, то можно создать объект Child и присвоить его переменной типа Parent(например, Parent p = new Child();).
      Java смотрит на тип переменной слева, в данном случае на Parent, и доступ к методам будет ограничен только теми, которые есть в родительском классе, несмотря на то, что фактически объект - это экземпляр Child. Это похоже на ситуацию, когда старший ребёнок отправляется на родительское собрание вместо родителя: хотя он физически - ребёнок, на собрании он должен вести себя как взрослый и не может "баловаться".
      Мы оставили более развернутый ответ в видео-формате: drive.google.com/file/d/1RaZCThHBRNhw2l-_bNZN1pLPXSaoD9B8/view?usp=sharing

    • @tomvenom
      @tomvenom 7 днів тому

      @@catcoding Cпасибо Вам большое, что уделили время и сделали отдельный ролик на эту тему. Очень понятливым языком объяснили этот момент. У вас талант объяснять доступным языком. Благодарю еще раз :)

    • @tomvenom
      @tomvenom 7 днів тому

      @@catcoding еще хотел бы уточнить один момент. А почему делается такое и какие это преймущества дает? То есть нельзя например написать A a = new A() или же B b = new B() чтобы не путаться,не смешивая все это? Или это дает преимущества в использовании методов?

    • @catcoding
      @catcoding  6 днів тому +1

      Полиморфизм позволяет создавать более гибкие и расширяемые программы, так как один и тот же интерфейс/базовый класс может работать с различными типами объектов. Это снижает сложность кода, улучшает его читаемость и облегчает добавление новых функциональностей без изменений в уже существующем коде. drive.google.com/file/d/1t_Rh6SaJGCEUTw1ASOxMWz9nRDpU1iya/view?usp=drive_link

    • @tomvenom
      @tomvenom 6 днів тому

      @@catcoding Спасибо Вам большое