LongCut logo

Tất Tần Tật Về Lập Trình Hướng Đối Tượng (OOP Java) Trong 15 Phút

By Ruồi IT

Summary

## Key takeaways - **Lớp là khuôn mẫu tạo đối tượng**: Lớp giống như khuôn mẫu bản thiết kế để sinh ra đối tượng, là một nhóm các biến gọi là thuộc tính và hàm gọi là phương thức. Đối tượng là sản phẩm của lớp, ví dụ lớp Con chó tạo ra chó Siba tên 'Siba' màu lông vàng và chó Bấc màu lông xám. [01:06], [01:25] - **Kế thừa từ lớp cha bằng extends**: Sử dụng từ khóa extends để lớp con như Con chó kế thừa lớp cha Động vật, nhận tất cả thuộc tính và phương thức như ăn cơm. Lớp con mèo cũng kế thừa và thực hiện ăn cơm giống nhau. [05:44], [06:03] - **Đóng gói kiểm soát quyền truy cập**: Public cho phép truy cập mọi nơi, protected cho lớp con và cùng package, private chỉ trong cùng lớp. Ví dụ phương thức ăn cơm private ở lớp Động vật không truy cập được từ lớp con chó. [07:22], [08:29] - **Đa hình qua overriding và overloading**: Overriding: lớp con ghi đè phương thức kêu của lớp cha, chó kêu 'Gâu', mèo kêu 'Meo'. Overloading: cùng tên phương thức kêu nhưng khác tham số, xử lý khác nhau trong cùng lớp. [10:28], [11:49] - **Abstract class có phương thức trừu tượng**: Abstract class chứa thuộc tính, phương thức thường và trừu tượng chỉ khai báo tên không định nghĩa, lớp con phải override như kêu ở lớp Động vật được chó và mèo định nghĩa cụ thể. [13:38], [14:22] - **Interface chỉ hằng số và trừu tượng**: Interface khai báo hằng số như màu lông 'màu đen', tuổi 5, và phương thức trừu tượng mặc định. Lớp con chó implement nhận giá trị mặc định và phải định nghĩa phương thức. [15:41], [16:34]

Topics Covered

  • Lớp là khuôn mẫu sinh đối tượng
  • Kế thừa lấy phương thức từ lớp cha
  • Public protected private kiểm soát truy cập
  • Ghi đè phương thức thể hiện đa hình
  • Abstract class định nghĩa khuôn mẫu

Full Transcript

hi guys Lập trình hướng đối tượng oop là một khái niệm rất rất rất là quan trọng trong lập trình là một trong những môn học bắt buộc cho những anh em sinh viên Theo học tại lĩnh vực it nếu bạn đã quá

ngắn ngẩm với những tiết học trên trường mà vẫn chẳng hiểu cái méo gì bạn cần một thứ gì đó nhanh đầy đủ đúng trọng tâm trình bày đơn giản dễ hiểu thì đây là video dành cho các bạn Ok Let's go Trước

tiên lập trình hiểu đơn giản là chúng ta viết các dòng lệnh và cách chúng ta trình bày tổ chức các dòng lệnh sinh ra các phương pháp lập trình như là lập trình phi cấu trúc dùng các ngôn ngữ bậc

thấp như assembly basic đấy code viết đến đâu Máy đọc rồi thực thi tới đó luôn rất là đơn giản đúng không nào lập trình thủ tục như là trên b can hay là x chủ yếu qua việc xây dựng các hàm và đương

nhiên rồi với lượng dữ liệu ngày càng phức tạp và lớn hơn đòi hỏi một phương trình phải đủ tổ chức một cách khoa học và hiệu quả hơn từ đó ta có oop Lập trình hướng đối tượng xoay quanh

hai thành phần chính đó là lớp class và đối tượng object lớp giống như là khuôn mộu mẫu bản thiết kế để sinh ra đối tượng là một nhóm các biến và hàm liên quan tới nhau biến được gọi là thuộc

tính hàm được gọi là phương thức đối tượng là sản phẩm của một lớp lấy ví dụ cho các bạn dễ hiểu nhá Giả sử chúng ta có lớp con chó chẳng hạn thì tên loài

chó màu lông tuổi là thuộc tính của con chó con chó có hành động sủa gâu gâu và ăn cơm thì hành động sủa gâu gâu và ăn cơm được gọi là phương thức của con chó

và từ lớp Con chó này ta tạo ra được nhiều đối tượng khác ví dụ như như là đối tượng chó siba thì có tên là cba và màu lông vàng đối tượng Chó Bấc thì có tên là Bấc và có màu lông xám và một hệ

thống op là một tập các đối tượng như vậy các đối tượng trao đổi với nhau qua thông điệp M passing từ đó tạo lên một chương trình hoàn chỉnh và rồi tiếp theo thì mình sẽ cùng nhau thực hành trên

Intel Leg Để xem nó thể hiện trên code như thế nào thì đây mình có tạo một cái hàm một cái folder hoàn toàn mới vàở đây mình có một cái class tên là class Main và ở đây thì mình ghi ra một dòng lệnh rất đơn giản thôi đó là in ra dòng chữ R

IT Xin chào Thì bây giờ mình sẽ in nó ra nhá Đấy in ra Và nó đã in ra đó là rồi IT Xin chào Ok giờ mình sẽ tạo một cái class mới class con chó thì ở đây mình

đang khai báo ra những thông tin những thuộc tính của lớp con chó thì ở đây chúng ta sẽ có những cái thông tin đó là tên loài chó màu lông và tuổi những thông tin này thì được gọi là thuộc tính

của lớp con chó và mỗi cái thuộc tính này thì đều có những kiểu dữ liệu mà mình khai báo ở đây Còn thiếu những cái phương thức nữa thì B ở đây mình sẽ tạo ra một cái phương thức đi phương thức đấy là phươ thức sủa đi ok chó thì phải

sủa rồi đúng không nào và rồi Các bạn muốn tạo một đối tượng mới từ một lớp thì các bạn gọi theo cụ pháp sau đây tên lớp tên của đối tượng ở đây mình đặt tên đối tượng là chó J Ba đi toán từ new và

tên lớp nhớ C phải có giống hoặc kép nhá và Ok mình đã vừa tạo sa đối tượng chó si ba từ lớp con chó vì đối tượng chó si ba được tạo ra từ lớp con chó nên nó sẽ có những thông tin đó là tên ngài chó

màu lông tuổi và có thể thực hiện được hành động đó là số gâu Ok Bây giờ mình sẽ in cái hành động đó ra ok cho siba chấm s này rồi thực hiện thôi đó cho

siba đã nó đã đ ra dòng lệnh đó là Goo thì làm cách nào mà chúng ta có thể khai báo thông tin cũng như là lấy thông tin từ một đối tượng thì có rất nhiều cách một trong những cách đó thì các bạn là

viết cái phương thức để lấy cũng như là nhập thông tin cho đối tượng viết một cái phương thức đó là nhập tuổi đi ok trong phương thức nhập tuổi thì mình sẽ làm cho nó đó là những cái tham số đầu

vào thì bây giờ mình sẽ gán cái tham số X và mình vừa mới nhập vào cho cái cuộc tính tuổi của mình nhá thì đây mình sẽ dùng cái Keyword đó là zit ch tuổi bằng x thì zit ở đây là biến tham chiếu được

sử dụng để tham chiếu tới đối tượng của cái lớp hiện tại luônn đó chính là lớp con chó rồi có hàm nhập tuổi rồi Thì bây giờ mình sẽ viết một hàm đó là lấy cái thông tin của tuổi ra nhá thì có phương thức nhập tuổi rồi bây giờ mình sẽ viết

cái phương thức đó là lấy cái thông tin tuổi ra nhá cái hàm này nó sẽ trả về kiểu integer bởi vì cái tuổi của mình Khai bán nó kiểu integer mà hàm này sẽ không có sá chiếu đầu vào nhá và hàng

này sẽ trả về thuộc tính tuổi của của đối tượng Ok rồi Ok quay trở lại hàm main đầu tiên mình sẽ sử dụng cái phương thức đó là nhập tuổi cho con chó C3 của

mình thì ok nhập tuổi mình sẽ truyền vào tham số đó là số 5 đi Chẳng hạn Ok B giờ mình sẽ in Cái tuổi này ra màn hình cho

các bạn có thể thấy đó chó C3 chm hiển thị tuổi này nó đã in ra đầu tiên là phương thức sửa này V vẫn là Goo này và

in ra tuổi của mình đó là 5 tuổi Ok thì mong rằng qua ví dụ vừa rồi thì các bạn đã hiểu cơ bản về cấu trúc của một cái lớp hay là đối tượng trong Lập trình hướng đối tượng tiếp theo mình sẽ tìm

hiểu sâu thêm để có thể thấy được Lập trình hướng đối tượng có những ưu điểm gì so với những cái phương thức lập trình khác qua bốn nguyên lý cơ bản của Lập trình hướng đối tượng đó là tính đa hình tính kế thừa tính đóng gói và tính

trừu [âm nhạc] tượng Ok để lấy ví dụ về t k thừa để mình xóa bớt ngay đi đã thì mình sẽ tạo thêm một cái lớp nữa đó là lớp con mèo

đi Ok mình đã tạo ra lớp con mèo ở bên này thì lớp con mèo nó sẽ xủa meo meo đi ok lớp con mèo sẽ sủa meo meo mình sửa

một chút mèo sủa meo meo à nghe nó hơi sai sai nhỉ kệ mình cứ lấy ví dụ vậy đi Mèo D Meo Meo và giờ thì mình sẽ tạo một

cái lớp động vật ok thì ở lớp động vật này mình sẽ tạo ra phương thức đó là phương thức ăn cơm đi ok trong phương

thức ăn cơm này thì nó sẽ là đang ăn cơm rồi thì bây giờ các bạn muốn sử dụng cái thuộc tính kế thừa trong hướng đối tượng chúng ta sẽ sử dụng từ khóa đó là

extend và extend sau đó là lớp mà các bạn muốn kế thừa ở đây mình sẽ để cho lớp con chó kế thừa lớp động vật ở đây thì lớp con chó sẽ là lớp con và lớp

động vật đó là lớp cha Lớp con chó khi mà kế thừa lớp động vật thì sẽ Kế thừa luôn tất cả những cái thuộc tính cũng như là phương thức của lớp động vật và

lớp con mèo cũng vậy mình sẽ cho kế thừa cả lớp động vật thì bây giờ mình sẽ in ra để các bạn có thể thấy được bởi vì lớp con chó đã kế thừa lớp động vật nên

nó sẽ có được nó sẽ thực hiện được hành động đó là ăn cơm mình sẽ tạo một đối tượng đó là đối tượng con mèo nhé Thì cái đối tượng mèo của mình cũng sẽ có

hành động đó là sủa và mèo của mình cũng sẽ thực hiện hành động đó là ăn cơm Ok Bây giờ mình sẽ in nó ra đó thì mình đã in nó ra rồi như các bạn để thấy thì lớp

chó siba và lớp mèo thì đều có hành động đó là hành động sủa nhưng mà mỗi một con sẽ sủa một cách khác nhau mà mình đã khai báo ở đây và ở đây thì chúng ta đã có cái phương thức chung đó là phương

thức ăn cơm thì phương thức chung này đã được khai báo trong lớp tra đó là nó sẽ in ra dòng chữ đó là đang ăn cơm lên cả hai cái đối tượng này đều sẽ in ra dòng lệnh giống nhau đó là đáng ăn cơm

Ok để lấy ví dụ về tính đóng gói thì trước tiên mình sẽ xóa cái lớp con mèo đi cho nó gọn nhá Đây mình sẽ để lại lớp cha động vật và lớp con lớp con chó thôi thì các bạn có thể thấy mỗi lần mà mình khai báo thuộc tính hay là khai báo một

cái hàm gì đó thì đều mình đều Gõ cái từ khóa đó là public đúng không nhưng bạn không hiểu thì từ khóa public này có nghĩa là gì thì public này đó chính là quản lý cái quền truy cập của mình thì

ngoài từ khóa public ra mình còn có protected và Private thì với từ khóa public thì có nghĩa là công khai đấy thì các bạn có thể truy cập được bất kỳ đâu ở mọi nơi luôn còn từ khóa Project thì

chỉ có những cái phương thức ở trong cùng một lớp hoặc là những lớp con hoặc là những lớp ở trong cùng một package trong gói thì mới có thể truy cập được với nhau còn từ khóa Private thì chỉ có những cái phương thức ở trong cùng một

lớp Thôi nhá thì mới có thể truy cập được vào thì thể hiện nó như thế nào thì mình sẽ lấy một ví dụ cho các bạn dễ hiểu ok thì ở trong lớp động vật này thì mình nãy thì mình có để cái từ khóa để cái phương thức ăn cơm là public đúng

không Bây giờ mình sẽ đổi sang đó là Private mình sẽ tạo thêm một cái phương thức khác có thuộc tính là protected thì các bạn có thể thấy cái đối tượng chó x ba của mình đã có những phương thức đó

là sủa này ăn cơm và đi ngủ đúng không Đấy Bây giờ mình sẽ in ra từng cái phương thức này một để xem có bị lỗi không nhá Đây đầu tiên mình sẽ in t đối tượng sủa trước đi đấy thì vẫn ngon lành

cành đào thôi Bởi vì đây là cái phương thức ở trong lớp Con chó này của Chính nó bây giờ mình sẽ in ra đ phương thức đó là ăn cơm đi đây phương thức ăn cơm

phương thức này mình đã để Private rồi nhá OK thì bị lỗi rồi đấy bởi vì cái phương thức ăn cơm này thì là Private và Private thì chỉ có trong cùng một lớp trong cùng một lớp tức làở trong cái lớp

động vật này thì có thể truy cập được vào còn những cái lớp bên ngoài thậm chí là lớp con được kế thừa thì cũng không thể truy cập được nhá Ok Bây giờ mình sẽ

in ra đó là hành động đó là đi ngủ Ok chó đi ngủ đó vì đây Mình đã khai báo đi ngủ phương thức đi ngủ đó là protect BCH thì những lớp con cũng như

những lớp cùng một BCH kịt thì có thể truy cập được đấy thì trong những bài toán thực tế thì đâu phải đôi khi lúc nào mình cũng muốn public đâu đâu phải lúc nào mình cũng muốn có thể truy cập được mọi nơi mọi lúc đâu Đôi khi mình muốn che giấu thông tin mình muốn không

để lộ những cái cấu trúc dữ liệu bên trong hay những cái code ở bên trong các bạn chỉ muốn cung cấp cho người dùng quấy những cái giao diện hay là những cái dịch vụ được cung cấp bởi các đối tượng chẳng

[âm nhạc] hạn tiếp theo đó là tính đa hình tính đa hình thì sẽ hơi khó hiểu hơn một chút thì đa hình có nghĩa nĩa là nhiều hình thái khác nhau thì nó sẽ cho phép mình đó là cùng một phương thức thì sẽ có

nhiều cái hoạt động khác nhau trên các đối tượng cụ thể khác nhau đó nó sẽ ch phép mình linh hoạt hơn thì tiếp theo mình sẽ tìm hiểu về hai cái khái niệm mà thể hiện rõ nhất tính đa hình trong Lập trình hướng đối tượng ghi đề phương thức

overriding Lạp trồng phương thức overloading thì để lấy ví dụ thì ở đây mình có lớp con chó con mèo và động vật thì ba lớp này mình đang để không thì đầu tiên mình ở lớp động vật mình sẽ tạm

một phương thức đó là kêu thì ở lớp động vật này nó sẽ kêu là gì thì nó sẽ kêu là xin chào đi thì ở đây lớp con chó và lớp con mèo đều đã kế thừa lớp động vật nên nó sẽ kế thừa luôn phương thức kêu Mặc

dù mình trong hai lớp này mình chưa khai báo cái phương thức kêu và mình sẽ in ra cho các bạn xem đó và chó Shiba và mèo của mình đã kêu là xin chào thì nó hơi sai sai đúng

không chó mèo gì mà biết nói tiếng người thì đấy sẽ là những cái bài toán trong thực tế khi mà những cái đối tượng đôi khi nó sẽ có những cái phương thức kế thừa nó sẽ không phù hợp thì ở đây mình sẽ sinh ra cái khái niệm gọi là ghi đè

Phương thức thì ghi này phương thức có nghĩa là sao Có nghĩa là Lớp con nó Sẽ định nghĩa lại những cái phương thức đã được khai báo trong lớp tra thì ở đây mình sẽ định nghĩa lại cái phương thức kêu sao cho phù hợp với cái đối tượng

hiện tại là chó x ba và mình cũng sẽ định nghĩa lại cái phương thức kêu ở trong lớp mèo đó là kêu mèo phải kêu Mèo meo mới đúng rồi ok Bây giờ mình sẽ in

lại nhá đó nó phải in ra như thế này mới chuẩn này thì tính đa hình được thể hiện ở ghi đề phương thức ở chỗ là một thông điệp một phương thức thì các lớp có thể hiểu theo nhiều cách khác nhau tiếp theo

mình sẽ lấy ví dụ về Lạp trồng phương thức thì Lạp trồng phương thức này sẽ nó khác hẳn so với ghi đề phương thức nhá OK thì mình cứ code đã rồi mình sẽ giải thích sau nhá ở đây thì mình đã chỉ giữ lại lớp con chó thôi Nhìn cho nó gọn thì

mình sẽ khai bóng một phương thức đó là phương thức kêu vẫn là phương thức kêu nhưng mà thay vào đó Thì bây giờ mình sẽ truyền tham số nhá thì ở đây mình sẽ truyền tham số đó là string mình sẽ

truyền tham số đó là một chuỗi ở đây mình sẽ đặt chuỗi đấy là tiếng kêu đi và ở đây nó sẽ và đây nó sẽ in ra đó là in ra tiếng kêu nhá tiếp theo thì mình vẫn

sẽ gọi cái phương thức kêu của đối tượng chó Shiba ra Nhưng thay vào đó mình sẽ truyền tham số cho nó nhá mình sẽ chuyển tham số nó là một chuỗi đúng không Thì mình sẽ chuyển tham số nó là xin chào

chẳng hạn Ok thì ở đây nó đã in ra dòng lệnh đó là Goo là của cái chó sii ba.

kêu này và xin chào là của chó xiba chk nhưng mà mình truyền cái tham số Xin chào vào thì tính đa hình của Lạp trồng phương thức thể hiện ở đây có nghĩa là cùng một trong cùng một một lớp thì sẽ

có những cái phương thức mà có trùng tên ví dụ đây mình có hai phương thức trùng tên nhưng mà khác nhau về tham số truyển vào thì sẽ có những cái cách xử lý của cái phương thức nó cũng sẽ khác

nhau Tính trừu tượng nghe đã thấy trừu tượng rồi đúng không ở đây ta sẽ tìm hiểu về Up class và interface như các bạn đã biết thì op ta sẽ làm việc với các đối tượng đúng không Nhưng mà với up

class và interface thì lại không hề tạo ra bất kỳ một đối tượng nào cả mặc dù nó vẫn sẽ tạo ra những khuôn mẫu để các đối tượng khác kế thừa hoặc là cài đặt theo Ok Trước tiên về upack class thì mình

tiếp tục lấy ví dụ đó là ba lớp con chó con mèo và động vật con chó con mèo thì kế thừa lớp động vật thì đây cả ba lớp rống để mình sẽ lấy ví dụ nhá Đây thì mình Bây giờ mình sẽ sửa chút thôi up check class cách viết của nó cũng khá

giống V class thông thường mình chỉ cần sửa lại thêm chữ đó là thêm chữ đó là attrax đó thì bây giờ đây sẽ là một cái lớp trều tượng thì

trong lớp trều tượng thì chúng ta vẫn có thể khai báo được những cái thuộc tính và phương thức chung tạo thành cái lớp cơ sở giống như là khuôn mẫu để cho các lớp khác kế thừa theo ấy Ok ở đây mình

sẽ tiếp tục viết cái hàm gọi là hàm kêu nhưng có một điểu đặc biệt ở đây đó là đây là lớp động vật và mỗi con động vật thì nó sẽ có một cái tiếng kêu khác nhau nên là mình không thể định nghĩa được cụ thể là tiếng kêu của động vật nó sẽ kêu

như thế nào Ví dụ con chó thì nó kêu gâu gâu Con mèo thì nó kêu meo meo nên là chỗ này mình rất khó để có thể định nghĩa cụ thể được và đây cũng là điểm khác biệt so với cái lớp thông thường lớp attract so với lớp thông thường là

trong lớp abstract hay còn gọi là lớp Triều tượng thì các bạn có thể khai báo một phương thức mà không cần phải định nghĩa cụ thể phương thức đó thực hiện một hành động hay là V hành vi gì thì

cái phương thức mà chỉ lêu tên chứ không định nghĩa cụ thể nó thực hiện hành động gì thì gọi là phương thức trừ tượng thì để cho máy tính hiểu đây là phương thức Chiếu Thượng thì các bạn chỉ cần vi thêm

từ khóa đó là attrax tức là ở đây lớp động vật đóng vai trò chỉ là xây dựng cái khuôn mẫu chứa các thuộc tính cũng như là hành vi mà những cái lớp kế thừa bắt buộc phải có Ví dụ ở đây là những

cái lớp kế thừa lớp động vật Ví dụ là các loại con chó con mèo thì bắt buộc phải có cái phương thức là kêu và trong từng cái lớp con chó và con mèo này các bạn phải định nghĩa lại cái phương thức

kêu này cho cụ thể thì ở đây các bạn muốn định nghĩa thì định nghĩa lại các bạn phải thêm một từ khóa đó là override Rồi sau đó các bạn định nghĩa lại phương thức ở bên

dưới Và bên lớp con mèo mình cũng sẽ định nghĩa như vậy Ok mình sẽ chạy chương trình nó đã in ra go go và Mao meo rồi ngoài việc khai báo những cái thuộc tính và phương thức Triều tượng

thì cái lớp Triều tượng cũng có thể khai báo những cái phương thức bình thường nhá các bạn nhá Ví dụ ở đây mình sẽ tạo một cái lớp là ăn

đi Ok mình sẽ in ra thử nhá đó Đang ăn cơm vậy tổng kết lại một lớp attrax hay còn gọi là lớp trừ tượng sẽ chứa các phương thức các thuộc tính

như một lớp thông thường ngoài ra nó còn có thể chứa được những cái phương thức gọi là phương thức trừu tượng mà không cần phải định nghĩa cụ thể nó thực hiện hành động gì Ok tiếp theo mình sẽ lấy ví dụ về interface Trước tiên thì mình Xóa

bớt đi nhá Trước tiên mình Xóa bớt đi nhá Xóa bớt đi cho nó đỡ rối mắt thì cách cài đặt một interface thì cũng giống như một cái class thông thường thôi Khá là giống thôi nhá thì ở đây mình sẽ xóa đi cái abck class đổi thành

interface interface nó cũng giống với lớp Triều tượng nhưng mà nó sẽ ở cái mức chiều tượng cao hơn nữa thì interface có nghĩa là cài đặt Đấy tức là chúng ta sẽ cài đặt giao diện cho một lớp một cái

đối tượng nào đó mà mặc định nó phải có những cái thuộc tính cũng như là những cái phương thức đó là chúng ta sẽ không được phép khai báo những cái thuộc tính mà nó không có giá trị như này tức là chúng ta chỉ được khai báo những cái

Hằng số ví dụ ở đây màu lông chúng ta phải để mặc định nó là một màu lông gì đó ví dụ ở đây mình để màu đen đi ở dưới tuổi mình cũng sẽ khai báo một hàng số

đó là năm tuổi đi và các phương thức mà các bạn viết trong cái interface sẽ mặc định là phương thức chều tượng nhá tức là mọi Nói chung là mọi thứ trong

interface một là hàng số hai là lớp Triều tượng Tức là nó ở cái mức độ tổng quát rất là cao Ví dụ ở đây cái hàm ăn cái hàm ăn cơm của mình nó viết thế này

thì trong interface nó sẽ báo lỗi nhá và chúng ta không cần phải thêm cái từ khóa abstract vào bởi vì mặc định tất cả những cái phương thức trong interface nó sẽ là phương thức Triều tượng tức là lêu ra tên của phương thức mà không cần phải

chỉ ra rõ phương thức đó nó thực hiện hành động gì thì quay trở lại lớp con chó ta sẽ thay cái từ khóa extend bằng từ khóa implement và cái lớp Con chó này sẽ được

cài đặt cái hai hàng số đó là màu lông là mặc định nó là màu đen và tuổi mặc định nó là năm Tức là tất cả những cái con mèo hay là con gà bất kỳ một cái

động vật nào đó mà được cài đặt từ cái interface động vật này đều sẽ có mặc định là màu lông màu đen và tuổi là năm đó thì ý nghĩa của cái interface này nó khá là tổng quát như vậy mình sẽ in nó

ra đó là màu lông ở phần trs Tuổi phần tr D Ok và mình sẽ in nó ra nhá nó đã in nó ra đó là hành động sủa là go màu lông là

màu đen và tuổi là năm OK video đến đây là kết thúc mình không dám chắc là qua video này các bạn có thể ngồi ngay vào bàn và codt ngay được video chỉ tập trung vào tư duy Lập trình là chính từ đó các bạn sẽ có cái nhìn bao quát nhất

và những Keyword cần thiết để có thể tìm hiểu sâu thêm

Loading...

Loading video analysis...