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.
2. Tại sao lập trình hướng đối tượng quan trọng
Nếu ứng dụng lập trình hướng đối tượng một cách mềm dẻo.
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.
Một người ứng dụng lập trình hướng đối tượng thì không suy ra là phần mềm sẽ tốt hơn so với 1 người không dùng lập trình hướng đối tượng.
Điều này nó giống với một cầu thủ đá banh nắm được kỹ thuật nhiều chưa chắc đá banh thắng, mà phải là một người kinh nghiệm thi đấu nhiều quan trong hơ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 nhanh nhất.
Câu chuyện thực tế từ lập trình hướng đối tượng
Tôi có 1 người bạn làm phần mềm bằng vb6 thời xưa, khi làm phần mềm người bạn này không hề ứng dụng lập trình hướng đối tượng vào việc code VS và 1 người bạn học thạc sĩ bên ấn độ ngành phần mềm, hai người bạn lập trình viên này hiện tại đang ở Việt Nam
Kết quả là 2 người bạn làm sản phẩm bán ra thị trường thì người bạn thạc sĩ bán chỉ bằng 1/10 so với người bạn làm vb6. Điều đó cho bạn thấy là lập trình hướng đối tượng nó không phải là một phương pháp sẽ mang lại hiệu quả tuyệt đối, mà nó còn tùy vào sự ứng dụng linh hoạt mềm dẻo khi code, nó cũng giống như người học võ công trong các bộ phim kiếm hiệp mà chúng ta hay xem, nhân vật trong phim 'Trương Vô Kỵ' trong phim Ỷ Thiên Đồ Long Ký là một minh chứng.
Tóm lại việc ứng dụng lập trình hướng đối tượng vào phần mềm nó tùy thuộc vào sự mềm dẻo, điều đó có nghĩa bạn có phải chú tâm vào đi tìm các nguyên lý lập trình hướng đối tượng và đó là sự hiểu biết về nghiệp vụ của bạn đang làm.
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();
}
}