Lập trình hướng đối tượng trong C# – Phần 6

Đăng ngày: 20/06/2026 • Tác giả: Quản trị viên
Lập trình hướng đối tượng trong C# – Phần 6

Lập trình hướng đối tượng trong C# – Phần 6

1. Lập trình hướng đối tượng (OOP) trong C# là gì?

Lập trình hướng đối tượng (Object-Oriented Programming – OOP) là một phương pháp lập trình dựa trên việc mô hình hóa các đối tượng trong thế giới thực. C# là một ngôn ngữ hỗ trợ mạnh mẽ lập trình hướng đối tượng với các tính năng như:

✔ Đóng gói (Encapsulation)
✔ Kế thừa (Inheritance)
✔ Đa hình (Polymorphism)
✔ Trừu tượng (Abstraction)

2. Lớp và đối tượng trong C#

2.1. Khai báo một lớp

class Person
{
    public string Name;
    public int Age;

    public void Introduce()
    {
        Console.WriteLine($"Xin chào, tôi là {Name}, {Age} tuổi.");
    }
}

2.2. Tạo đối tượng

Person person1 = new Person();
person1.Name = "Thảo";
person1.Age = 22;
person1.Introduce();

⏳ Kết quả:

Xin chào, tôi là Thảo, 22 tuổi.

3. Phạm vi truy cập trong C#

Từ khóa Mô tả
public Truy cập từ bất kỳ đâu
private Chỉ truy cập được trong nội bộ lớp
protected Truy cập trong nội bộ lớp và lớp con
internal Truy cập trong cùng assembly

Ví dụ:

class Student
{
    private string name;
    
    public void SetName(string studentName)
    {
        name = studentName;
    }

    public void ShowName()
    {
        Console.WriteLine("Tên sinh viên: " + name);
    }
}

4. Constructor trong C#

Constructor là một phương thức đặc biệt được gọi khi tạo đối tượng.

class Car
{
    public string Brand;

    public Car(string brand)
    {
        Brand = brand;
    }

    public void ShowBrand()
    {
        Console.WriteLine("Hãng xe: " + Brand);
    }
}

// Sử dụng
Car myCar = new Car("Toyota");
myCar.ShowBrand();

⏳ Kết quả:

Hãng xe: Toyota

5. Kế thừa trong C# (Inheritance)

Lớp con có thể kế thừa từ lớp cha để mở rộng chức năng.

class Animal
{
    public void Speak()
    {
        Console.WriteLine("Động vật có thể phát ra âm thanh");
    }
}

class Dog : Animal
{
    public void Bark()
    {
        Console.WriteLine("Chó sủa gâu gâu!");
    }
}

// Sử dụng
Dog myDog = new Dog();
myDog.Speak(); // Kế thừa từ lớp Animal
myDog.Bark();

⏳ Kết quả:

Động vật có thể phát ra âm thanh
Chó sủa gâu gâu!

6. Đa hình trong C# (Polymorphism)

Đa hình cho phép một phương thức có thể có nhiều cách triển khai khác nhau.

6.1. Ghi đè phương thức (override)

class Parent
{
    public virtual void Show()
    {
        Console.WriteLine("Đây là lớp cha");
    }
}

class Child : Parent
{
    public override void Show()
    {
        Console.WriteLine("Đây là lớp con");
    }
}

// Sử dụng
Parent obj = new Child();
obj.Show();

⏳ Kết quả:

Đây là lớp con

6.2. Nạp chồng phương thức (method overloading)

class MathOperations
{
    public int Add(int a, int b)
    {
        return a + b;
    }

    public double Add(double a, double b)
    {
        return a + b;
    }
}

// Sử dụng
MathOperations math = new MathOperations();
Console.WriteLine(math.Add(5, 10));       // 15
Console.WriteLine(math.Add(5.5, 10.2));   // 15.7

7. Trừu tượng trong C# (Abstraction)

Lớp trừu tượng không thể tạo đối tượng trực tiếp mà chỉ dùng để kế thừa.

abstract class Shape
{
    public abstract void Draw();
}

class Circle : Shape
{
    public override void Draw()
    {
        Console.WriteLine("Vẽ hình tròn");
    }
}

// Sử dụng
Shape shape = new Circle();
shape.Draw();

⏳ Kết quả:

Vẽ hình tròn

8. Giao diện trong C# (Interface)

Interface giúp định nghĩa một tập hợp phương thức mà các lớp phải triển khai.

interface IAnimal
{
    void MakeSound();
}

class Cat : IAnimal
{
    public void MakeSound()
    {
        Console.WriteLine("Meo meo!");
    }
}

// Sử dụng
IAnimal myCat = new Cat();
myCat.MakeSound();

⏳ Kết quả:

Meo meo!

9. Tóm tắt bài học

✅ Lớp & đối tượng – Lớp là bản thiết kế, đối tượng là thực thể của lớp.
✅ Phạm vi truy cập – public, private, protected, internal.
✅ Constructor – Hàm khởi tạo chạy khi tạo đối tượng.
✅ Kế thừa – Giúp tái sử dụng mã nguồn.
✅ Đa hình – Ghi đè (override) và nạp chồng (overloading).
✅ Trừu tượng – Lớp abstract không thể tạo đối tượng.
✅ Giao diện – Định nghĩa phương thức mà lớp phải triển khai.

💡 Bài tiếp theo:
👉 Xử lý tập tin trong C# – Phần 7 📂

 

Bài viết liên quan