Không gian tên và chỉ thị
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 2 trên 70.
Không gian tên giúp sắp xếp code và tránh xung đột tên. Chúng nhóm các lớp có liên quan lại với nhau, giống như thư mục giúp sắp xếp tệp.
Tạo một lớp bên trong một không gian tên
namespace MyApp.Models
{
public class User
{
public string Name { get; set; }
public User(string name)
{
Name = name;
}
}
}Dùng chỉ thị using để truy cập các lớp từ một namespace khác
using System;
using MyApp.Models;
class Program
{
static void Main()
{
User user = new User("Alice");
Console.WriteLine(user.Name);
}
}Đầu ra:
AliceNếu không có chỉ thị using, bạn phải dùng tên đầy đủ
MyApp.Models.User user = new MyApp.Models.User("Bob");Chỉ thị using cho phép bạn tham chiếu đến các kiểu trong không gian tên mà không cần nhập đầy đủ đường dẫn không gian tên mỗi lần. System là một không gian tên phổ biến, chứa các lớp cơ bản như Console.
Thử thách
Trung bìnhBạn có lớp User trong không gian tên MyApp.Models. Thêm chỉ thị using thích hợp vào Program.cs để dùng lớp User mà không cần tên đầy đủ.
Tự làm thử
using System;
// TODO: Thêm chỉ thị using cho MyApp.Models
class Program
{
static void Main()
{
string userName = Console.ReadLine();
// TODO: Tạo đối tượng User bằng userName
// TODO: In ra "User created: " rồi đến Name của người dùng
}
}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