Mình đã thử Tính Đa Hình Và Nó Đã Thay Đổi Cách Mình Code | Code Thu

Поделиться
HTML-код
  • Опубликовано: 18 сен 2024
  • Tính Đa Hình hay còn gọi là Polymorphism là một khái niệm quan trọng trong lập trình hướng đối tượng cho phép các đối tượng của các loại khác nhau được xử lý như là các đối tượng của một superclass (lớp cha) chung. Điều này có nghĩa là bạn có thể viết code chung và có thể tái sử dụng được với các đối tượng khác nhau mà không cần biết loại cụ thể tại compile time.
    Một trong những lợi ích chính của tính đa hình là nó cho phép bạn viết code linh hoạt hơn. Bạn có thể tạo các lớp mới kế thừa từ một superclass chung và triển khai phiên bản riêng của các phương thức, mà có thể được sử dụng tương đương với các đối tượng của superclass. Điều này giúp dễ dàng thêm chức năng mới vào code của bạn mà không cần thay đổi mã hiện có.
    Tổng thể, tính đa hình là một khái niệm căn bản trong lập trình hướng đối tượng và rất quan trọng để tạo ra mã có tính mô-đun, dễ bảo trì và có khả năng mở rộng.
    Xin chào, nếu video này hữu ích với bạn, một lượt đăng ký kênh sẽ rất quý giá với mình. Điều đó giúp mình biết được rằng mình đang tạo ra nội dung hữu ích cho mọi người :)
    Subscribe cho Code Thủ - youtube.com/@c...
    Facebook Page - / codethu
    #tuhoc #tuhoclaptrinh #tựhọcjava #tựhọclậptrình #tuhocjava #CodeThủ #CodeThu #codethu

Комментарии • 31

  • @bunbunbunbun366
    @bunbunbunbun366 2 месяца назад +1

    học vài vid của anh thôi mà em A+ môn hướng đối tượng , mặc dù em theo web. anh giảng đỉnh vãi ò

  • @khuuthanhtai3742
    @khuuthanhtai3742 10 месяцев назад +1

    Bạn nói rất dễ hiểu khiến kiến thức về hướng đối tượng của mình càng thêm chắc chắn❤ Cảm ơn bạn

  • @kydung5378
    @kydung5378 19 дней назад

    Bạn giải thích dễ hiểu ghê =))

  • @tranhuutien9746
    @tranhuutien9746 Год назад

    Anh giảng hay lắm.Mong anh duy trì ạ.

    • @CodeThu
      @CodeThu  Год назад

      Cảm ơn bạn ủng hộ nha ❤️

  • @hieplam4107
    @hieplam4107 Год назад

    hay b ơi, đang thắc mắc vấn đề này thì thấy clip này quá dễ hiểu

    • @CodeThu
      @CodeThu  Год назад

      Cảm ơn bạn ủng hộ nha ❤️

  • @trihahuy3653
    @trihahuy3653 Год назад +2

    quá hay, content xuất sắc.

    • @CodeThu
      @CodeThu  Год назад

      Cảm ơn bạn luôn ủng hộ mình nha :)

    • @trihahuy3653
      @trihahuy3653 Год назад +1

      @@CodeThu mình có kêu bạn bè mình ủng hộ nữa rồi, kk.

    • @CodeThu
      @CodeThu  Год назад +1

      Mình cảm ơn bạn rất nhiều luôn đó. Mình sẽ cố gắn làm nhiều content tốt hơn nữa

  • @zbaotips2069
    @zbaotips2069 Год назад

    mình chưa coi được 1p mà nghe cách nói đã follow :)) hi vọng bạn duy trì content

    • @CodeThu
      @CodeThu  Год назад +1

      Hihi mình cảm ơn bạn ủng hộ nha ❤️

  • @tungtranthanh1901
    @tungtranthanh1901 8 месяцев назад

    a này dạy bánh cuốn quá >.

  • @quill2245
    @quill2245 10 месяцев назад +1

    bạn có thể không dùng tiếng discord được không :)) lần nào cũng giật mình ngó qua discord 1 cái :v

  • @tholeduc6499
    @tholeduc6499 Год назад +1

    Ở bài này, mình thấy có vẻ bạn lại chưa đưa hết những nội dung về chủ đề vào trong video. Cụ thể bạn chỉ mới nói trường hợp override.
    Trong khi, theo chatgpt:
    Có hai dạng chính của tính đa hình trong Java:
    - Đa hình tại biên biến (Compile-time Polymorphism): Còn được gọi là overload, đa hình tại biên biến xảy ra khi cùng một phương thức có thể nhận vào các tham số khác nhau. Compiler sẽ xác định phương thức cụ thể dựa trên kiểu và số lượng tham số được truyền vào.
    - Đa hình tại runtime (Runtime Polymorphism): Còn được gọi là override, đa hình tại runtime xảy ra khi một lớp con ghi đè (override) một phương thức đã được định nghĩa trong lớp cha. Khi gọi phương thức từ đối tượng của lớp con, phương thức của lớp con sẽ được thực thi thay vì phương thức của lớp cha.
    Mình mong bạn nên xem xét lại cách làm video để nội dung không chỉ hấp dẫn mà đầy đủ kiến thức, tránh việc người xem hiểu rằng kiến thức này nó chỉ là thế này mà ko biết là còn thiếu phần khác.
    Thanks bạn.

    • @CodeThu
      @CodeThu  Год назад +2

      Cảm ơn bạn ủng hộ và góp ý. Mình sẽ rút kinh nghiệm 🙏

  • @hung4699
    @hung4699 Год назад +1

    Hay ạ

    • @CodeThu
      @CodeThu  Год назад

      Cảm ơn bạn đã ủng hộ :)

  • @namdophuong2609
    @namdophuong2609 5 месяцев назад +1

    Tính đa hình Override khi kế thừa thì họ nói rằng có tính tái sử dụng mã và tránh lặp code. Nhưng em lại hiểu rằng tái sử dụng mã và tránh lặp code có nghĩa là viết một lần và sử dụng được ở nhiều nơi. Nhưng khi dùng tính chất đa hình này, khi lớp Cha có phương thức thì lớp Con kế thừa, lớp Con có thể Override lại phương thức của lớp Cha. Vậy tính tái sử dụng mã ở đây được hiểu như thế nào ạ? Sr a câu này e hỏi hơi ngốc một chút😅

    • @hyminhlee
      @hyminhlee Месяц назад

      Thật ra việc tái sử dụng code của trường hợp bạn đưa ra nằm ở cuối clip. Cụ thể là khi viết func kế toán, nếu bạn không extend nhân viên thì bạn phải viết 2 func kế toán: ketoan(nvvp) + ketoan(nvt).

    • @quy7970
      @quy7970 24 дня назад

      Bạn hiểu sai rồi thì phải, trong này là tính đa hình thì mình override lại những phương thức của lớp cha khi mà cả 2 lớp có chung một phương thức nhưng khác về cách thể hiện thôi

  • @thinhle1611
    @thinhle1611 8 месяцев назад

    ban lam ve java reflection di !!

  • @vinhpham1058
    @vinhpham1058 Год назад

    thích cách a giải thích

    • @CodeThu
      @CodeThu  Год назад

      Mình cảm ơn bạn ủng hộ nha ❤️

  • @phamcongtoan1399
    @phamcongtoan1399 Год назад

    anh cho em hỏi phương thức override của việc kế thừa không thôi và của abstract method có gì khác nhau không ạ và trường hợp nào cần sử dụng cái nào hơn ? .E xin cảm ơn

    • @CodeThu
      @CodeThu  Год назад +1

      Cảm ơn bạn ủng hộ nha. Câu hỏi của bạn rất thú vị. Mình xin phép trả lới câu hỏi của bạn nha.
      Phương thức override trong việc kế thừa và abstract method thực sự không khác nhau nhiều nha bạn. Dưới đây là sự khác biệt chính:
      Khi bạn kế thừa từ một lớp, bạn có thể "ghi đè" (override) các phương thức đã được định nghĩa trong lớp cha. Điều này nghĩa là bạn có thể thay đổi cách hoạt động của phương thức đó để phù hợp với lớp con của bạn. Tuy nhiên, bạn không cần phải ghi đè phương thức - nếu không, lớp con sẽ chỉ sử dụng phương thức như được định nghĩa trong lớp cha.
      Mặt khác, một phương thức abstract là một phương thức không có thân (không có phần thực thi code bên trong). Nó phải được khai báo trong một lớp abstract hoặc interface và phải được ghi đè (override) trong lớp con không abstract. Lớp con đó bắt buộc phải cung cấp cài đặt cho phương thức abstract.
      Trong việc quyết định khi nào sử dụng phương thức override thông thường hoặc phương thức abstract, điều quan trọng là cần xem liệu bạn có muốn cung cấp một cài đặt mặc định cho phương thức đó không (như trong trường hợp của phương thức kế thừa), hay bạn muốn buộc mọi lớp con cung cấp cài đặt riêng của mình (như trong trường hợp của phương thức abstract).
      Mình hy vọng câu trả lời của mình giải thích được thắc mắc của bạn. Nếu bạn có câu hỏi nào khác đừng ngần ngại để lại comment nha. Cảm ơn bạn nhiều.

    • @phamcongtoan1399
      @phamcongtoan1399 Год назад

      @@CodeThu em cảm ơn a nhìu nha,e đang cày toàn bộ video của a đây

  • @HuyNguyen-pk5kb
    @HuyNguyen-pk5kb 2 месяца назад

    Override để làm gì vậy mn, mình tìm hiểu thì đọc cũng không hiểu

    • @huyinh4210
      @huyinh4210 Месяц назад

      hi nếu mình ko overdrive thì khi gọi hàm tính lương nó sẽ gọi hàm tính lương của class gốc là nhân viên á b.