extends kế thừa từ lớp cha, tái sử dụng code: class Dog extends Animal. implements coi lớp như một interface và buộc override tất cả method (không tái sử dụng code): class Dog implements Animal. with thêm hành vi mixin mà không cần kế thừa: class Dog with Sound.
Dùng extends cho "là một", implements cho "hành động như", with để chia sẻ code.
extends inherits from a parent class for code reuse. implements treats a class as a contract/interface and you override all its methods with no code reuse. with adds mixin behavior without inheritance.
Use extends for "is-a", implements for "acts-like", with for code sharing.