Interface trong OOP chỉ được declare prototype. Còn classes extends thì phải override lại hết. Nó gây ra một vấn đề là có một số class không cần nhiều function đến thế. Nó chỉ cần 1 2 functions trong N functions của interface thôi.
Còn protocol hoạt động giống interface nhưng mạnh hơn ở chỗ là extension protocol.
Bản thân protocol chỉ có thể declare prototype (nhưng là optional, muốn declare cũng được, không cũng chẳng sao)
Còn extension protocol có thể declare một function hoàn chỉnh.
Khi đó, nếu class conform protocol thì không cần phải override lại tất cả, mà chỉ cần lấy lại những function nào cần thiết trong N function thôi.
E cảm ơn bài viết của a rất hay ạ.
E có thắc mắc là nếu extract FloatingActionButton thành 1 widget khác thì mình truyền biến counter vào MyInheritedWidget như nào v anh? Mong a giải đáp , e cảm ơn a nhiều ạ.
nếu e sống ở HN, Sài Gòn hay Đà Nẵng thì a nghĩ k ít các cty có team AI. Em hãy tìm hiểu thử xem. Còn nếu e ở các tỉnh khác thì a nghĩ phương án tốt nhất là e nên chuyển tới sống và làm việc tại các thành phố lớn. Vì làm IT thì khó phát triển sự nghiệp nếu chỉ ở quê
THẢO LUẬN
Interface trong OOP chỉ được declare prototype. Còn classes extends thì phải override lại hết. Nó gây ra một vấn đề là có một số class không cần nhiều function đến thế. Nó chỉ cần 1 2 functions trong N functions của interface thôi.
Còn protocol hoạt động giống interface nhưng mạnh hơn ở chỗ là extension protocol.
Khi đó, nếu class conform protocol thì không cần phải override lại tất cả, mà chỉ cần lấy lại những function nào cần thiết trong N function thôi.
thanks
Hay quá anh ơi. Em cũng đang tranh thủ nghỉ dịch mà cày.
hay fen ơi !
Rất đón chờ các bài viết tiếp theo trong series này của bạn
Cảm ơn bạn đã quan tâm.
hay quá anh :v
uy tín luôn
Thanks b!
Bài viết rất clear, hóng bài tiếp theo: ModelMapper.
Phần công thức CE mình thấy thiếu dấu "-" không biết có đúng không bạn ?
Nếu như trên làm sao đưa Repository vào ViewModel vậy ạ
E cảm ơn bài viết của a rất hay ạ. E có thắc mắc là nếu extract FloatingActionButton thành 1 widget khác thì mình truyền biến counter vào MyInheritedWidget như nào v anh? Mong a giải đáp , e cảm ơn a nhiều ạ.
Bài viết rất hay, cảm ơn tác giả đã chia sẻ!
tuyệt vời! thanks chủ thớt!
cám ơn b
nếu e sống ở HN, Sài Gòn hay Đà Nẵng thì a nghĩ k ít các cty có team AI. Em hãy tìm hiểu thử xem. Còn nếu e ở các tỉnh khác thì a nghĩ phương án tốt nhất là e nên chuyển tới sống và làm việc tại các thành phố lớn. Vì làm IT thì khó phát triển sự nghiệp nếu chỉ ở quê
Khi crawler các page động thì selector by xpath rất là quan trọng, trong bài chưa thấy nhắc tới. Rất may là puppeteer đã hỗ trợ với các hàm: