Giới thiệu về lớp và đối tượng
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 3 trên 70.
Lớp là bản thiết kế để tạo đối tượng. Đối tượng là một instance của lớp, chứa dữ liệu và hành vi.
Định nghĩa một lớp đơn giản có các thuộc tính
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
}Thêm hàm khởi tạo để khởi tạo đối tượng
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
}Thêm một phương thức để xác định hành vi
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
public string Bark()
{
return $"{Name} says Woof!";
}
}Tạo một đối tượng (instance) và sử dụng nó
Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");Đầu ra:
Buddy says Woof!
Age: 3Từ khóa new tạo một đối tượng của lớp và gọi hàm khởi tạo. Bạn có thể tạo nhiều đối tượng từ cùng một lớp, mỗi đối tượng có dữ liệu khác nhau.
Thử thách
DễHoàn thiện lớp Car bằng cách thêm hàm khởi tạo và phương thức Drive(). Sau đó, tạo một đối tượng Car trong Program.cs và sử dụng nó.
Phương thức Drive() cần trả về: "The {Brand} is driving!"
Tự làm thử
using System;
class Program
{
static void Main()
{
string brand = Console.ReadLine();
int year = int.Parse(Console.ReadLine());
// TODO: Tạo đối tượng Car bằng các giá trị đầu vào
// TODO: In ra "Car: {brand} ({year})"
// TODO: Gọi phương thức Drive() và in ra kết quả
}
}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