Tệp bên ngoài
Thuộc phần Lập trình hướng đối tượng trong hành trình C# của Coddy. Bài học 1 trên 70.
Tệp bên ngoài giúp bạn sắp xếp các lớp trong những tệp C# riêng biệt và tham chiếu đến chúng trong chương trình chính bằng không gian tên.
Tạo một tệp C# riêng có tên MyClass.cs
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}Tham chiếu không gian tên trong tệp chính của bạn
using MyApp;Tạo một đối tượng và sử dụng nó
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());Đầu ra:
Hello, I'm AliceCâu lệnh using MyApp; cho phép bạn dùng các lớp trong không gian tên MyApp mà không cần ghi đầy đủ tên. Không gian tên nhóm các lớp có liên quan lại với nhau. Trong cùng một dự án, theo mặc định, các lớp có thể truy cập lẫn nhau giữa các tệp. Đánh dấu một lớp là public sẽ giúp lớp đó có thể được truy cập từ các dự án khác (assembly).
Thử thách
Trung bìnhBạn được cung cấp các tệp C# (MyClass.cs và Program.cs), hãy thêm câu lệnh using vào tệp Program.cs để kết nối các tệp và sử dụng lớp trong tệp bên ngoài!
Tự làm thử
// TODO: Thay ? bằng không gian tên phù hợp để dùng MyClass
using ?;
using System;
class Program
{
static void Main()
{
string testCase = Console.ReadLine();
// Tạo một instance của MyClass và gọi GetMessage()
MyClass obj = new MyClass();
Console.WriteLine(obj.GetMessage());
}
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Lập trình hướng đối tượng
1Các khái niệm cơ bản về lập trình hướng đối tượng
Tệp bên ngoàiKhông gian tên và chỉ thịGiới thiệu về lớp và đối tượngTừ khóa thisPhương thức và tham sốTrường và thuộc tínhHàm khởi tạoKhởi tạo đối tượngÔn tập: Máy tính đơn giản4Kế thừa
Cú pháp kế thừa cơ bản (:)Từ khóa 'base'Từ khóa virtual và overrideLớp sealedLớp cơ sở 'object'Ôn tập: hệ phân cấp nhân viên7Tính năng nâng cao
Nạp chồng toán tửBộ lập chỉ mục (this[])Ghi đè ToString()Phương thức mở rộngÔn tập: Danh sách tùy chỉnh10Các mẫu thiết kế phần 1
Giới thiệu về mẫu thiết kếSingleton an toàn với luồngMẫu FactoryMẫu Observer (sự kiện)Mẫu Strategy2Thuộc tính và thành viên tĩnh
Thuộc tính tự độngThuộc tính chỉ đọc hoặc chỉ ghiTrường và phương thức tĩnhLớp tĩnhThành viên có thân biểu thức5Đa hình và interface
Đa hình lúc biên dịch và lúc chạyInterface và lớp trừu tượngNhiều interfaceInterface tường minhUpcasting và downcastingÔn tập: bộ tính toán hình học8Các khái niệm OOP nâng cao
Ưu tiên composition hơn kế thừaGenerics (lớp và phương thức)Delegate và sự kiệnAttribute và reflectionGiao diện IDisposable và câu lệnh usingKiến thức cơ bản về dependency injection11Các mẫu thiết kế phần 2
Mẫu lệnhMẫu bộ chuyển đổiMẫu trang tríMẫu phương thức khuôn mẫuMẫu trạng tháiMẫu tổ hợpTự luyện tập: Trình biên dịch C# online