Lập trình hướng đối tượng oop là gì – Kiến thức tổng quan
Nguồn trích dẫn: ruaxetudong.org
Lập trình đối tượng là một trong những thuật ngữ được sử dụng nhiều trong lĩnh vực công nghệ thông tin. Vậy oop là gì? hướng đối tượng là gì? Tất cả những câu hỏi này sẽ được chúng tôi giải đáp trong nội dung bài viết dưới đây.
OOP là gì? Khái niệm liên quan
Khái niệm lập trình hướng đối tượng là gì?
Lập trình hướng đối tượng có tên tiếng anh là Object Oriented Programming và viết tắt là OOP. Đây là một trong những kỹ thuật lập trình cho phép lập trình viên tạo ra các đối tượng trong code trừu tượng hóa và các đối tượng thực tế trong cuộc sống.
Theo định nghĩa trên wikipedia, lập trình đối tượng là một mẫu lập trình dựa trên khái niệm công nghệ đối tượng. Mà ở đó, đối tượng chứa đựng các dữ liệu, trên các trường thường được gọi là các thuộc tính; và mã nguồn được tổ chức thành các phương thức. Phương thức giúp cho các đối tượng có thể truy xuất và hiệu chỉnh các trường duex liệu của đối tượng khác.
Hiểu một cách đơn giản, lập trình đối tượng là phương pháp lập trình lấy đối tượng làm nền tảng để xây dựng chương trình. Hoặc đây là phương pháp lập trình dự rên kiến trúc lớp và đối tượng.
Object là gì?
Đối tượng Object có thể là điện thoại, con người, máy tính,…và điểm chung là đều gồm có 2 thành phần chính đó là:
Thuộc tính (Attribute): là những thông tin, đặc điểm của đối tượng
Phương thức (Method): là những hành động mà đối tượng có thể thực hiện được.
Các đặc điểm của lập trình đối tượng
Tính đóng gói ( Encapsulation)
Tính chất này sẽ không cho phép người dùng trực tiếp tác động đến dữ liệu bên trong của đối tượng mà phải thông qua các phương thức mà đối tượng cung cấp. Tính chất này đảm bảo tính vẹn toàn của đối tượng.
Trong đoạn code trên, tính đóng gói được thực hiện qua thuộc tính mausac, chieudai, chieurong và các phương thức input, output. Bạn sẽ không thể truy cập đến các private data hoặc gọi đến private methods của class từ bên ngoài.
Tính kế thừa (Inheritance)
Kế thừa, tái sử dụng thuộc tính, phương thức của lớp cơ sở và lớp kế thừa được gọi là lớp con. Lớp con này sẽ thừa hưởng những gì lớp cha có và cho phép.
Tính trừu tượng ( Abstraction)
Tập trung vào cốt lõi của đối tượng, bỏ qua những thứ không quan trọng và không liên quan.
Tính đa hình ( Polymorphism)
Tính đa hình cho phép các chức năng (method) khác nhau được thực thi trên các đối tượng khác nhau.
=> Trừu tượng, kế thừa, đa hình và đóng gói 4 tính chất oop mà những ai đang học và làm lập trình phải nắm chắc bởi chúng sẽ luôn đi kèm với các kỹ thuật khác trong lập trình.
Các tính chất lập trình hướng đối tượng PHP
Hướng đối tượng PHP cũng có 4 đặc điểm cơ bản đó là:
Tính đóng gói
Trong PHP việc đóng gói được thực hiện nhờ sử dụng các từ khóa public, private và protected:
public: Cho phép truy cập và làm thay đổi giá trị thuộc tính và phương trình ở mọi hành vi. Có thể hiểu là mang tính cộng đồng.
private: Cho phép truy cập hoặc thay đổi giá trị của thuộc tính và phương thức ở phạm vi của đối tượng. Có thể hiểu là mang tính gia đình.
protected: Chỉ cho phép truy cập hoặc thay đổi giá trị của thuộc tính và phương thức ở phạm vị của các đối tượng con. Mang tính dòng họ.
Tính kế thừa
Một lớp có thể được kế thừa từ một lớp khác. Việc kế thừa được thực hiện thông qua việc sử dụng từ khóa extends. Đối tượng thuộc lớp con sẽ có thuộc tính và phương thức protected và public của lớp mà nó kế thừa.
Tính trừu tượng
PHP có abstract class và interface để trừu tượng các đối tượng. Ví dụ như khi bạn tạo ra một lớp (class) dùng đại diện cho các tài khoản gửi tiền ngân hàng của các khách hàng và đặt tên cho lớp này là BankAccount. Lớp này có 2 thuộc tính đó là $balance và $interest dùng để lưu dữ liệu số tiền và lãi suất tiền gửi của tài khoản.
Tính đa hình
OOP PHP trong php tính đa hình thì:
Các lớp con có thể mở rộng hoặc viết lại phương thức của lớp cha mà nó kế thừa.
Các class và implement một interface nhưng chúng có cách thức thực hiện khác nhau cho các method của interface đó. Cùng một phương thức nhưng sẽ cho ra các kết quả khác nhau được gọi bởi các đối tượng thuộc lớp khác nhau.
Lập trình hướng đối tượng C++
C++ là ngôn ngữ lập trình đối tượng khá phổ biến và thường được giới thiệu đến các bạn sinh viên khi bắt đầu làm quen với phương pháp lập trình đối tượng. C++ oop được xếp vào nhóm lập trình bậc thấp, có khả năng xử lý nhanh do sự can thiệp cấp hệ thống. Điều này giúp cho hướng đối tượng C++ là sự lựa chọn số 1 cho các ứng dụng tốc độ như phần mềm nhúng, phần mềm hệ thống,….
Với các thông tin trên đây, hy vọng sẽ giúp bạn trả lời được câu hỏi oop là gì rồi chứ. Bất kỳ thắc mắc, ý kiến đóng góp nào quý khách hàng hãy comment phí dưới, nhân viên tư vấn của Vietlearn.org sẵn sàng tư vấn, giải đáp bạn mọi lúc, mọi nơi.