Lập trình hướng đối tượng là gì?
Lập trình hướng đối tượng được ghi tắt là OOP (object-oriented programming). Là một phuơng hướng lập trình tách biệt so với kiểu cổ điển. Sử dụng đối tượng để lập trình nên những chuỗi tuơng tác. OOP giúp cho các lập trình viên có thể tiết kiệm nhiều thời gian hơn so với cách viết cổ điển.
Các bạn có thể hiểu lập trình hướng đối tượng là cách viết mã lệnh có các hành động liên quan đến nhau được nhóm thành các lớp (class) giúp tăng khả năng rút gọn mã mà vẫn giữ được tính hiệu quả cho chúng.
Lập trình hướng đối tượng không quá đáng sợ như một số bạn nghĩ. Chính vì nó có cú pháp mới mẻ và phong cách lập trình khác biệt so với lập trình hướng thủ tục nên các bạn thấy nó phức tạp. Nếu bạn hiểu rõ về bản chất của lập trình hướng đối tượng bạn sẽ thấy lập trình hướng đối tượng là một phương pháp lập trình đơn giản mà lại tối ưu.
Sự khác nhau giữa lập trình hướng đối tượng và lập trình hướng cấu trúc
- Lập trình hướng cấu trúc: Chia một chương trình thành các modul để giải quyết từng thành phần của bài toán (hay còn gọi là chia để trị). Tách một vấn đề khó thành các vấn đề nhỏ hơn để dễ giải quyết. Vì thế phải viết các hàm để giải quyết từng modul một, rồi cho phép gọi lẫn nhau để đạt mục đích lập trình.
- Lập trình hướng đối tượng: Sử dụng các đối tượng trong chương trình, tức là các lớp (class), khi đó chương trình sẽ sử dụng class như một kiểu dữ liệu nhưng do người sử dụng tạo nên. Lập trình hướng đối tượng hiện đang được ưu chuộng do có thể sử dụng lại những mã đã viết bằng việc kế thừa các thuộc tính sẵn có nhờ vậy việc lập trình đạt hiệu quả cao, tiết kiệm thời gian.
Sự khác nhau giữa lớp (class) và đối tượng(Object)
Có nhiều bạn còn có sự nhầm lẫn giữa lớp và đối tượng. Không chỉ là những bạn mới lập trình mà có nhiều lập trình viên có nhiều năm kinh nghiệm vẫn chưa phân biệt đúng về lớp và đối tượng.
Để phân biệt giữa class và object các bạn hãy lấy ví dụ như bạn đang thi công một cầy cầu.
- Class: Tương tự như một bản kết hoạch chi tiết cho cây cầu. Bạn sẽ cần phải xác định hình dáng của cây cầu, mối quan hệ giữa các thành phần của nó(chân cầu, thân cầu, kèo cột,…), các kế hoạch cho nó…
- Object: Sẽ là một cây cầu được thi công bởi bản kế hoạch trên. Bên trong Object sẽ chứa rất nhiều dữ liệu như các vật liệu để tạo ra nó(sỏi, đá, nhựa đường,…). Và tất nhiên, bạn sẽ có thể xây dựng được rất nhiều cây cầu từ một bản kế hoạch như trên.
Các Class xử lý cấu trúc dữ liệu và các hành động, đồng thời sử dụng các thông tin đó để xây dựng các Object. Có thể có nhiều hơn một Object được xây dựng từ cùng một Class tại cùng một thời điểm, mỗi Object này đều là một cá thể độc lập và không phụ thuộc lẫn nhau.
Cấu trúc của một Class
Cấu trúc của một class bao gồm: thuộc tính và phương thức.
Hiểu một cách đơn giản giống như lập trình hướng cấu trúc:
- Thuộc tính: Các biếnCú pháp:
- Phương thức: Các hàm
Class TênClass{
Properties and Method
}
- Các biến trong Class được gọi là Properties (Thuộc tính)
- Các hàm trong Class được gọi là Method (Phương thức)
Sau khi tạo xong Class, bạn có thể khởi tạo đối tượng theo cú pháp sau:
Cú pháp:
<?php
$object=new TênClass();
?>
Định nghĩa thuộc tính của Class
Thuộc tính hoạt động như một biến thông thường, chỉ có một điều là thuộc tính liên kết với object (đối tượng). Vì vậy để truy cập và sử dụng được ta phải thông qua object.
Cú pháp:
<?php
class TênClass{
[phạm vi] tên biến = giá trị;
}
?>
- Phạm vi: Phạm vi được phép sử dụng thuộc tính. Bao gồm: public, private, protected, static,... Phạm vi có thể có, có thể không. Nếu không định nghĩa phạm vi thì phạm vi mặc định là public
- Tên biến: Tuân theo quy tắc đặt tên biến trong PHP
- Giá trị: Giá trị của thuộc tính.
Lưu ý: Thuộc tính không nhất thiết phải gán giá trị ban đầu.
Ví dụ: Bạn tạo 1 file có tên vidu.php rồi viết nội dung sau đây:
<?php
class iChiaSe.Biz{
public $a="Welcome to website iChiaSe.Biz";
}
$gt=new iChiaSe.Biz();
echo $gt->a;
?>
Các bạn chạy http://localhost/vidu.php trình duyệt sẽ hiển thị kết quả sau:
Trích dẫn
Welcome to website iChiaSe.Biz
Định nghĩa phương thức của class
Tiếp theo ví dụ trên, các bạn sửa code như sau:
<?php
class iChiaSe.Biz{
public $a="Welcome to website iChiaSe.Biz";
public function print_property()
{
echo $this->a."<br>Học PHP miễn phí";
}
}
$gt=new iChiaSe.Biz();
$gt->print_property();
?>
Lưu ý: Các đối tượng có thể tự tham chiếu chính nó bằng cách sử dụng biến $this. Khi làm việc bên trong 1 phương thức, sử dụng $this cũng giống như cách bạn sử dụng object name bên ngoài class.
Các nhìn vào đoạn code trên các bạn cũng biết được cách sử dụng phương thức. Cách sử dụng phương thức giống như cách sử dụng hàm thông thường, nhưng chúng ta phải thông qua object.
Các bạn chạy lại file vidu.php sẽ hiển thị kết quả như sau:
Trích dẫn
Welcome to website iChiaSe.Biz
Học PHP miễn phí
Qua bài học này, các bạn đã nắm được những khái niệm về lập trình hướng đối tượng trong PHP, cách định nghĩa lớp, thuộc tính, phương thức, khởi tạo đối tượng, sử dụng thuộc tính, phương thức.
Hẹn gặp lại các bạn ở bài học tiếp theo trong series hướng dẫn học lập trình php nâng cao!
Nguồn : Giaotrinhcntt.Com
Đăng nhận xét