Trong khi tìm hiểu về Bản mô tả, tôi nhận ra các lớp của mình trong các mô-đun (được sử dụng làm không gian tên) không có sẵn cho các lớp khác trừ khi tôi viết export
từ khóa trước chúng, chẳng hạn như:
module some.namespace.here
{
export class SomeClass{..}
}
Vì vậy, bây giờ tôi có thể sử dụng mã trên như thế này:
var someVar = new some.namespace.here.SomeClass();
Tuy nhiên, tôi chỉ tự hỏi tại sao từ khóa này được sử dụng trái ngược với việc chỉ sử dụng public
từ khóa được sử dụng ở cấp phương thức để biểu thị rằng một phương thức hoặc thuộc tính nên có thể truy cập được từ bên ngoài. Vậy tại sao không sử dụng cơ chế tương tự này để làm cho các lớp và giao diện vv hiển thị bên ngoài?
Điều này sẽ cung cấp mã kết quả như:
module some.namespace.here
{
public class SomeClass{..}
}