Lập trình hướng đối tượng trong c#

Lập trình hướng đối tượng trong c# và nhưng vấn đề thực tế với cuộc sống.

1. Lập trình hướng đối tượng là gì

OOP là viết tắt của Object-Oriented Programming dịch ra là lập trình hướng đối tượng. Lập trình hướng đối tượng là kỹ thuật lập trình sử dụng các đối tượng (objects) để xây dựng ứng dụng. Hầu hết các ngôn ngữ như: C#, PHP, Java, Ruby... đều hỗ trợ lập trình hướng đối tượng.

Lập trình hướng đối tượng trong c#

2. Tại sao lập trình hướng đối tượng quan trọng

Câu hỏi về lập trình hướng đối tượng ? nếu làm phần mềm không sử dụng hướng đối tượng có được không ?

   * Trả lời: vẫn được, nhưng chỉ làm phần mềm nhỏ, đơn giản.

Theo kinh nghiệm của mình về lập trình hướng đối tượng 1 lập trình viên đã làm phần mềm phải sử dụng lập trình hướng đối tượng khi làm phần mềm.

Nếu ứng dụng lập trình hướng đối tượng một cách mềm dẻo.

  • Giúp phần mềm chất lượng tốt hơn với người dùng.
  • Tốc độ làm phần mềm nhanh hơn.
  • Các dòng code có thể kế thừa tốt giữa các lập trình viên, vì lập trình viên nào cũng lập trình theo kỹ thuật hướng đối tượng.
  • Nâng cấp bảo trì dễ dàng hơn.
  • Quy trình làm phần mềm khép kín hơn từ khâu phân tích đến code, tester đến thương mại phần mềm.

3. Chia sẽ quan điểm cá nhân của tôi về Lập trình hướng đối tượng.

Lập trình hướng đối tượng là 1 kỹ thuật lập trình, nên bạn có thể / không  ứng dụng vào công việc lập trình của bạn.

Lập trình hướng đối tượng giúp bạn tư duy chuyển từ nghiệp vụ thành những dòng code một cách nhanh nhất.

4. Các khái niệm về lập trình hướng đối tượng

Để ứng dụng tốt lập trình hướng thì việc đầu tiên bạn cần nắm các khái niệm về lập trình hướng đối tượng

Khái niệm đầu tiên phải bàn đến là Class, class là 1 kiểu dữ liệu, là 1 cái bản phân tích giúp mô hình hóa các đối tượng thực tế.

Class sẽ có các thuộc tính (properties) và các phương thức (methods) tương ứng với thuộc tính và hành động thực tế bên ngoài.

//(C# code)
public class ConNguoi
{
       private string Ten {get;set;}
       private DateTime NgaySinh {get;set;}
       private string DiaChi {get;set;}
       public void HoSoCaNhan()
       {
              //Do something
       }       
}

 

Tính kế thừa (Inheritance)

Bạn khai báo lớp ConVat
Sau đó từ lớp ConVat bạn tạo thêm các lớp ConMeo, ConCho ...

//(C# code)
public class ConVat
{
       private string Ten {get;set;}
       private int SoChan {get;set;}      
}
public class ConCho:ConVat
{
       private string GiongCho {get;set;}
        
}
public class ConHeo:ConVat
{
       private bool LaHeoRung {get;set;}        
}
public class Program
{
       public static void Main(string[] args)
       {
               ConVat _cv1 = new ConCho();
               _cv1.GiongCho="Cho Nhật";
               ConVat _cv2 = new ConHeo();
               _cv1.LaHeoRung=false;
              
               Console.Read();
       }
}

 

 

Tính đa hình (Polymorphism)

//(C# code)


public class NhanVien()
{
    public object GetThongTin(int idNhanVien)
    {
    //To do something
    }

    public object GetThongTin(string soCCCD)
    {
    //To do something
    }

    public object GetThongTin(string hoten,string idHoKhau)
    {
    //To do something
    }
}

//(C# code)


public class OTo //Base class
{
    public decimal getTieuHaoNhienLieu()
    {
        //To do something
    }
}

public class Hyundai: OTo
{
    public decimal getTieuHaoNhienLieu()
    {
        //To do something
    }
}

public class Honda: OTo
{
    public decimal getTieuHaoNhienLieu()
    {
        //To do something
    }
}

public class Program
{
       public static void Main(string[] args)
       {
               OTo _oto_1 = new Hyundai();
               Console.WriteLine(_oto_1.getTieuHaoNhienLieu());
               OTo _oto_2 = new Honda();
               Console.WriteLine(_oto_2.getTieuHaoNhienLieu());
               Console.Read();
       }
}

 

 


Lập trình hướng đối tượng trong c# và nhưng vấn đề thực tế với cuộc sống.