Bài đăng

Đang hiển thị bài đăng từ Tháng 9, 2020

Kotlin và việc từ bỏ "văn hoá Get/Set"

  Lời dẫn Từ trước đến nay, khi làm việc với các ngôn ngữ lập trình hướng đối tượng (OOP) kiểu cũ như Java, C++, C#..., các bạn hẳn đã quá quen với văn hoá Get/Set. Tức là các thành phần bên ngoài muốn truy xuất các thuộc tính của class là phải gọi đến các phương thức Get/Set để lấy hoặc thay đổi các thuộc tính của đối tượng đó. Về mặt logic mà nói, việc sử dụng Get/Set là hoàn toàn hợp lý. Nhưng nhìn từ góc độ trừu tượng khi một object là một đối tượng thực sự và khi mà các thuộc tính được xem là các giá trị của đối tượng còn các phương thức được xem là các hành động của chúng thì rõ ràng, việc bắt một đối tượng phải hành động gì đó trong khi ta chỉ cần lấy hay thay đổi tính chất của nó thì hơi khó hiểu. Ví dụ cụ thể Vì bài viết này mục tiêu chính là quảng cáo cho Kotlin nên tôi sẽ lấy ví dụ bằng Java, ngôn ngữ mà Kotlin đang trên đường thay thế và cũng là một ngôn ngữ OOP rất "quốc dân". Giả sử tôi có một class  Rectangle  với 2 thuộc tính là  width  và  ...