Theo mình việc giao tiếp giữa các class ở tầng dưới như thế nào thì không rõ, mình cũng đang là sinh viên, chỉ có kiến thức nền, kiến thức cơ bản
Nhưng khi bạn code 1 module, chương trình nếu có nhiều class (2 trở lên) thì bạn sẽ phải động đến các khái niệm getter, settet, public, private, protected, friend…vì các khái niệm này nói về tính đóng gói, vì đóng gói nên giao tiếp giữa các class cũng phải tuân theo 1 số quy tắc trên (dữ liệu nào thì phương thức đó)
Hoặc bạn học môn phân tích thiết kế hướng đối tượng với uml rồi thì sẽ rõ hơn
Nếu đơn giản bạn để tất cả các class là public thì nó không còn đúng theo tính chất hướng đối tượng nữa. Khi đó sẽ có các thành phần phải là private, nhưng private thì lại không thể sử dụng được từ class bên ngoài nên sinh ra các khái niệm getter, setter, friend hoặc protected… Nên theo mình code 1 mình không ảnh hưởng gì đến việc bạn có tiếp xúc nhiều với tính đóng gói hay không
Mình cũng đang xây dựng 1 thư viện, mình code 1 mình và sử dụng rất nhiều các khái niệm trên. Mình cũng chỉ mới xây dựng được mấy class thôi