Series Lập trình hướng đối tượng trong PHP – Phần 1

11:34 09/06/2021

Ngôn ngữ lập trình luôn được coi là nền tảng quan trọng, nhân tố số 1 trong ngành công nghệ thông tin, mặc dù giữ vai trò cốt lõi như vậy nhưng đối với ngôn ngữ đặc biệt này vẫn còn nhiều khúc mắc, khó khăn đối với người học. Chính vì vậy, series bài viết “Lập trình hướng đối tượng trong PHP” sẽ là lời giải đáp cho những thắc mắc đó.

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

-Lập trình hướng đối tượng viết tắt OOP là viết tắt của Object-Oriented Programming.

-Hiểu một cách đơn giản thì “Lập trình hướng đối tượng” là một 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 các đối tượng ngoài thế giới thực. Như mỗi sản phẩm, mỗi user… là mỗi đối tượng.

  1. Ưu điểm 
  • Dễ dàng quản lý code khi có sự thay đổi chương trình.
  • Dễ mở rộng dự án.
  • Tiết kiệm được tài nguyên đáng kể cho hệ thống.
  • Có tính bảo mật cao.
  • Có tính tái sử dụng cao.
  1. Một số khái niệm (thuật ngữ) cơ bản trong OOP

Trong OOP có 1 vài khái niệm quan trọng cần phải nắm chắc:

  • Class: lớp
  • Object: đối tượng
  • Properties: thuộc tính
  • Methods (or Functions ) :Phương thức (hoặc hàm)
  • keyword $this
  • Hàm tạo __construct()

3.1 Class: lớp

-Class giống như 1 bản thiết kế (khuôn mẫu) để tạo ra các đối tượng có đặc tính giống nhau. Gồm có 2 thành phần chính là: Thuộc tính (properties) và phương thức (methods).

Tạo Class

 

Thêm thuộc tính vào class.

 

Thêm phương thức vào class.

 

3.2 Object: đối tượng

-Đối tượng có thể hiểu là 1 thực thể: người, vật, hay 1 bảng dữ liệu…

-Một đối tượng bao gồm 2 thông tin : Thuộc tính và Phương thức

  • Thuộc tính là những thông tin, đặc điểm của đối tượng. Ví dụ như một người sẽ có họ tên, ngày sinh, màu da, kiểu tóc,…
  • Phương thức là những thao tác, hành động được thực hiện trên đối tượng đó hay đối tượng đó có thể thực hiện. Ví dụ: một người sẽ có thể hành động đi, nói, ăn, uống…

Lưu ý: một đối tượng không nhất thiết phải có thuộc tính hay phương thức, tùy vào mục đích sử dụng của lập trình viên

+Tạo object (đối tượng) từ class (lớp).

Dùng từ khóa new để khởi tạo object từ 1 class

+Lấy ra các thuộc tính và phương thức từ object.

Các thuộc tính và phương thức của class được chia sẻ cho các object tạo ra từ nó.

 

3.3 Từ khóa $this

-Cho phép ta có quyền truy cập và sử dụng các thuộc tính và phương thức trong phạm vi của class.

-Chỉ tồn tại trong phương thức của class chứa phương thức đó.

-Chỉ đến object đang thực thi phương thức có chứa nó.

  • Phương thức được thực thi nhằm mục đích lấy ra/thay đổi giá trị của thuộc tính trong object đó.
  • Hoặc cũng có thể sử dụng để gọi 1 hành động khác từ trong hành động đang đc thực thi

3.4 Hàm tạo __construct

-Kiểu hàm đặc biệt mà sẽ được gọi tự động bất cứ khi nào có một sự tạo thành đối tượng từ một Class.

-Hàm tạo luôn chạy đầu tiên khi khởi tạo đối tượng, nếu ta không khai báo thì nó ngầm định sinh ra hàm __construct.

-Hàm tạo có thể nhận ít nhất một đối số, được gọi là hàm tạo được tham số hóa.

-Khi một đối tượng được khai báo trong một hàm tạo được tham số hóa, các giá trị truyền vào phải được chuyển làm đối số cho hàm tạo.

-Tính năng :

  • Hàm tạo __construct giúp chúng ta khởi tạo đối tượng với các thuộc tính khác nhau.
  • Giúp tạo đối tượng nhanh chóng
  • Vì hàm tạo luôn được chạy đầu tiên khi khởi tạo 1 đối tượng mới nên nó được sử dụng rất nhiều để giải nhiều bài toán khác nhau. Để hiểu rõ hơn mình sẽ nói ở phần khác nhé
Tạo class không có __construct().

 

Tạo class có __construct().

 

Cách viết hàm __construct không bị lỗi khi khởi tạo

 

  1. Bài tập rèn luyện
  • Bài 1: Viết một class đơn giản in ra màn hình “Xin chào tôi đến từ FPT Polytechnic”, trong đó “FPT Polytechnic” là đối số truyền vào của 1 phương thức.
  • Bài 2: Viết một class Student gồm các thuộc tính như name, age, phone, address, majored, class… và các phương thức lấy in ra màn hình giá trị các thuộc tính đó
  • Bài 3: Viết một Class Calculator, khởi tạo với 2 tham số truyền vào, sau đó thêm các phương thức tính phép cộng, trừ , nhân, chia và trả về kết quả.

Mong rằng với những thông tin bổ ích trên đã đem đến cho các bạn cái nhìn tổng quan về ngôn ngữ lập trình thú vị này. Cùng đón chờ phần 2 nhé !

Cùng chuyên mục

Đăng Kí học Fpoly 2021

Bình Luận

Your email address will not be published. Required fields are marked *