Review Hướng dẫn implements trong php
Thủ Thuật về Hướng dẫn implements trong php Chi Tiết
Lã Hiền Minh đang tìm kiếm từ khóa Hướng dẫn implements trong php được Cập Nhật vào lúc : 2022-12-26 08:56:04 . Với phương châm chia sẻ Mẹo về trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi tham khảo nội dung bài viết vẫn ko hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Tác giả lý giải và hướng dẫn lại nha.Chúng ta hoàn toàn có thể tưởng tượng rằng vũ trụ được tạo từ những đối tượng rất khác nhau như mặt trời, mặt trăng, trái đất,… Theo cách tương tự, bạn hoàn toàn có thể tưởng tượng chiếc xe hơi được tạo từ những đối tượng rất khác nhau như bánh xe, khung xe, động cơ, cần sang số… Theo cách như vậy, những khái niệm trong lập trình hướng đối tượng giả sử rằng mọi thứ như một đối tượng và triển khai một phần mềm bởi sử dụng những đối tượng rất khác nhau. Bạn hoàn toàn có thể tham khảo cách Steve Jobs định nghĩa lập trình hướng đối tượng khiến cả thế giới thán phục, mô tả quy trình lập trình hướng đối tượng cực kỳ dễ hiểu.
Nội dung chính Show- Các khái niệm hướng đối tượng trong PHPĐịnh nghĩa Class trong PHPTạo Object trong PHPGọi hàm thành viên trong PHPHàm constructor trong PHPDestructor trong PHPTính thừa kế trong PHPGhi đè hàm (Function Overriding) trong PHPThành viên public trong PHPThành viên private trong PHPThành viên protected trong PHPInterface trong PHPHằng số (Constant) trong PHPLớp trừu tượng (Abstract Class) trong PHPTừ khóa static trong PHPTừ khóa final trong PHPGọi constructor cha trong PHP
Các khái niệm hướng đối tượng trong PHP
Trước khi đi vào rõ ràng, tất cả chúng ta nhắc lại một số trong những khái niệm liên quan tới Lập trình hướng đối tượng.
Class − Đây là một kiểu tài liệu được định nghĩa bởi lập trình viên, mà gồm những hàm cục bộ cũng như tài liệu cục bộ. Bạn hoàn toàn có thể nghĩ về một Class như thể một Template để tạo nhiều instance (sự thể hiện) của cùng loại (hoặc lớp) của đối tượng.
Object − Một instance (sự thể hiện) riêng biệt của cấu trúc tài liệu được định nghĩa bởi một Class. Một khi bạn định nghĩa một Class, và sau đó tạo nhiều Object của Class đó. Các Object cũng còn được biết như thể Instance.
Biến thành viên − Đây là những biến được định nghĩa bên trong một Class. Dữ liệu này sẽ không nhìn thấy với ngoại vi lớp đó và hoàn toàn có thể được truy cập thông qua những hàm thành viên. Những biến này được gọi là attribute của đối tượng một khi đối tượng đã được tạo.
Hàm thành viên − Đây là hàm được định nghĩa bên trong một Class và được sử dụng để truy cập tài liệu đối tượng.
Tính thừa kế − Khi một lớp được định nghĩa bằng việc thừa kế hàm đang tồn tại của một lớp cha, thì nó được gọi là tính thừa kế. Ở đây, lớp con sẽ thừa kế tất cả hoặc một số trong những hàm và trở thành viên của lớp cha.
Lớp cha − Một lớp mà được thừa kế từ lớp khác. Nó cũng khá được gọi là một lớp cơ sở (base class) hoặc super class.
Lớp con − Một lớp mà thừa kế từ lớp khác. Nó cũng khá được gọi là một lớp phụ hoặc một lớp thừa kế.
Tính đa hình − Đây là một khái niệm hướng đối tượng mà cùng một hàm hoàn toàn có thể được sử dụng cho những mục tiêu rất khác nhau. Ví dụ, tên hàm sẽ vẫn in như vậy, nhưng nó nhận số tham số rất khác nhau và hoàn toàn có thể thực hiện những tác vụ rất khác nhau.
Nạp chồng (Overloading) − Một kiểu đa hình, trong đó một số trong những hoặc tất cả toán tử có trình triển khai rất khác nhau phụ thuộc vào kiểu những tham số của chúng. Tương tự, những hàm cũng hoàn toàn có thể được nạp chồng với trình triển khai rất khác nhau.
Trừu tượng hóa tài liệu − Bất kỳ màn biểu diễn tài liệu nào mà trong đó rõ ràng về trình triển khai bị ẩn.
Tính bao đóng − Liên quan tới một khái niệm mà tất cả chúng ta hoàn toàn có thể bao đóng tất cả tài liệu và hàm thành viên với nhau để tạo thành một Object.
Constructor − Liên quan tới một kiểu hàm đặc biệt mà sẽ được gọi tự động bất kể lúc nào có một sự tạo thành đối tượng từ một Class.
Destructor − Liên quan tới một kiểu hàm đặc biệt mà sẽ được gọi tự động bất kể lúc nào một đối tượng bị xóa hoặc ra khỏi phạm vi.
Định nghĩa Class trong PHP
Form chung để định nghĩa một lớp mới trong PHP như sau:
Dưới đây là phần lý giải mỗi dòng trên:
- Thủ tục class đặc biệt đi kèm với tên của lớp mà bạn muốn định nghĩa.Các cặp dấu ngoặc móc xung quanh bất kỳ số lượng khai báo biến hoặc định nghĩa hàm nào.Các khai báo biến khởi đầu với thủ tục đặc biệt var đi kèm với một tên biến theo qui ước $; chúng cũng hoàn toàn có thể có một phép gán khởi tạo tới một giá trị hằng số.Định nghĩa hàm ở đây khá giống với những hàm standalone trong PHP, nhưng đây là hàm cục bộ cho lớp và sẽ được sử dụng để thiết lập và truy cập tài liệu đối tượng.
Ví dụ:
Ví dụ sau định nghĩa một lớp tên là Books.
Phần 1:
price = $par; function getPrice() echo $this->price .""; function setTitle($par) $this->title = $par; function getTitle() echo $this->title ."
"; ?>
Biến $this là một biến đặc biệt và nó tham chiếu tới cùng đối tượng (ví dụ: chính nó).
Tạo Object trong PHP
Một khi bạn đã định nghĩa lớp cho mình, thì bạn hoàn toàn có thể tạo bao nhiêu đối tượng của kiểu lớp đó tùy bạn thích. Ví dụ sau là cách tạo đối tượng bởi sử dụng từ khóa new trong PHP.
Phần 2:
$tiengAnh = new Books; $toanCaoCap = new Books; $tuTuongHCM = new Books;Ở đây, tất cả chúng ta đã tạo 3 đối tượng và những đối tượng này là độc lập với nhau và chúng sẽ có sự tồn tại riêng rẽ nhau. Phần tiếp theo, tất cả chúng ta xem cách truy cập hàm thành viên và xử lý những trở thành viên trong PHP.
Gọi hàm thành viên trong PHP
Sau khi tạo những đối tượng, bạn sẽ hoàn toàn có thể gọi những hàm thành viên liên quan tới đối tượng đó. Một hàm thành viên sẽ chỉ hoàn toàn có thể xử lý trở thành viên liên quan tới đối tượng đó.
Ví dụ sau minh họa cách thiết lập title và price cho 3 book bằng phương pháp gọi những hàm thành viên.
Phần 3:
$tiengAnh->setTitle( "English Grammar in Use" ); $tuTuongHCM->setTitle( "Toán cao cấp 1" ); $toanCaoCap->setTitle( "Tư tưởng Hồ Chí Minh" ); $tiengAnh->setPrice( 10 ); $tuTuongHCM->setPrice( 15 ); $toanCaoCap->setPrice( 7 );Bây giờ bạn gọi những hàm thành viên khác để lấy giá trị đã được thiết lập trong ví dụ trên:
Phần 4:
$tiengAnh->getTitle(); $tuTuongHCM->getTitle(); $toanCaoCap->getTitle(); $tiengAnh->getPrice(); $tuTuongHCM->getPrice(); $toanCaoCap->getPrice();Lưu 4 phần code trên (theo thứ tự như trên) trong một file mang tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ ://localhost:8080/test.php sẽ cho kết quả:
Hàm constructor trong PHP
Hàm constructor là kiểu hàm đặc biệt mà sẽ được gọi tự động bất kể lúc nào có một sự tạo thành đối tượng từ một Class. Vì thế, tất cả chúng ta tận dụng cách vận hành này, bằng việc khởi tạo nhiều thứ thông qua những hàm constructor trong PHP.
PHP đáp ứng một hàm đặc biệt được gọi là __construct() để định nghĩa một constructor. Bạn hoàn toàn có thể truyền bao nhiêu tham số tùy bạn vào trong hàm constructor này.
Ví dụ sau sẽ tạo một constructor cho lớp Books và nó sẽ khởi tạo price và title cho book tại thời điểm tạo đối tượng này.
Phần 1.1:
function __construct( $par1, $par2 ) $this->price = $par1; $this->title = $par2;Bây giờ, tất cả chúng ta không cần gọi tập hợp hàm riêng rẽ để thiết lập price và title. Chúng ta chỉ hoàn toàn có thể khởi tạo hai trở thành viên của chúng tại thời điểm tạo đối tượng. Bạn kiểm tra ví dụ sau:
Phần 2.2:
$tiengAnh = new Books( "English Grammar in Use", 10 ); $toanCaoCap = new Books ( "Toán cao cấp 1", 15 ); $tuTuongHCM = new Books ("Tư tưởng Hồ Chí Minh", 7 ); /* lấy những giá trị đã được thiết lập */ $tiengAnh->getTitle(); $tuTuongHCM->getTitle(); $toanCaoCap->getTitle(); $tiengAnh->getPrice(); $tuTuongHCM->getPrice(); $toanCaoCap->getPrice();Đặt contructor (phần 1.1) vào class (phần 1) và sau đó thay những phần 2, 3 và 4 bằng phần 2.2 (theo thứ tự như trên) trong một file mang tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ ://localhost:8080/test.php sẽ cho kết quả tương tự như trên:
Destructor trong PHP
Giống một hàm constructor trong PHP, bạn hoàn toàn có thể định nghĩa một hàm destructor bởi sử dụng hàm __destruct(). Bạn hoàn toàn có thể giải phóng tất cả nguồn với một destructor trong PHP.
Tính thừa kế trong PHP
Các định nghĩa lớp trong PHP hoàn toàn có thể thừa kế từ một định nghĩa lớp cha bởi sử dụng mệnh đề extends trong PHP. Cú pháp của nó như sau:
class Child extends ParentHiệu quả của tính thừa kế là lớp con (lớp phụ hoặc lớp thừa kế) có những đặc trưng sau:
Tự động có tất cả khai báo trở thành viên của lớp cha.
Tự động có tất cả những hàm thành viên in như trong lớp cha, mà (theo mặc định) sẽ thao tác theo cùng phương thức như khi hàm đó làm trong lớp cha.
Ví dụ sau thừa kế lớp Books và thêm một số trong những tính năng tùy theo yêu cầu.
class Novel extends Books var publisher; function setPublisher($par) $this->publisher = $par; function getPublisher() echo $this->publisher. "";
Bây giờ, ngoài những hàm đã thừa kế, lớp Novel tương hỗ update thêm hai hàm thành viên.
Ghi đè hàm (Function Overriding) trong PHP
Các định nghĩa hàm trong những lớp con ghi đè những định nghĩa với cùng tên trong những lớp cha. Trong một lớp con, tất cả chúng ta hoàn toàn có thể sửa đổi định nghĩa của một hàm được thừa kế từ lớp cha.
Trong ví dụ sau, những hàm getPrice và getTitle được ghi đè để trả về những giá trị.
function getPrice() echo $this->price . ""; return $this->price; function getTitle() echo $this->title . "
"; return $this->title;
Thành viên public trong PHP
Trừ khi bạn xác định, nếu không thì những thuộc tính (property) và phương thức của một lớp là public. Tức là, chúng hoàn toàn có thể được truy cập trong 3 tình huống sau:
Từ bên phía ngoài lớp trong đó nó được khai báo.
Từ bên trong lớp trong đó nó được khai báo.
Từ bên trong lớp ngoài mà triển khai lớp đó trong đó nó được khai báo.
Tới giờ, tất cả chúng ta đã thấy tất cả thành viên là những thành viên public. Nếu bạn muốn số lượng giới hạn truy cập của những thành viên của một lớp, thì bạn định nghĩa thành viên lớp là private hoặc protected trong PHP.
Thành viên private trong PHP
Bằng việc chỉ định một thành viên là private, bạn số lượng giới hạn độ truy cập cho lớp trong đó nó được khai báo. Thành viên private không thể được tham chiếu từ những lớp mà thừa kế lớp trong đó nó được khai báo và không thể được truy cập từ bên phía ngoài lớp đó.
Một thành viên lớp hoàn toàn có thể được chỉ định là private bởi sử dụng từ khóa private ở trước thành viên đó.
price = $par; function getPrice() echo $this->price .""; function setTitle($par) $this->title = $par; function getTitle() echo $this->title ."
"; ?>0
Khi lớp MyClass được thừa kế bởi lớp khác bởi sử dụng extends, hàm myPublicFunction() sẽ là nhìn thấy, như $driver. Lớp thừa kế sẽ không sở hữu và nhận ra hoặc không truy cập tới hàm myPrivateFunction và $car, chính bới chúng được khai báo là private.
Thành viên protected trong PHP
Một thuộc tính hoặc phương thức protected là hoàn toàn có thể truy cập trong lớp mà trong đó nó được khai báo, cũng như trong những lớp mà thừa kế từ lớp đó. Các thành viên protected là không còn sẵn với ngoại vi của hai loại lớp này. Một thành viên lớp hoàn toàn có thể được chỉ định là protected bởi sử dụng từ khóa protected ở trước thành viên đó trong PHP.
Dưới đây là phiên bản khác của MyClass:
price = $par; function getPrice() echo $this->price .""; function setTitle($par) $this->title = $par; function getTitle() echo $this->title ."
"; ?>1
Interface trong PHP
Interface được định nghĩa để đáp ứng một tên hàm chung cho những trình triển khai. Các Implementor rất khác nhau hoàn toàn có thể triển khai những Interface của chúng theo yêu cầu của chúng. Bạn hoàn toàn có thể nói rằng, Interface là bộ khung mà được triển khai bởi lập trình viên.
Như trong PHP 5, nó là hoàn toàn có thể để định nghĩa một Interface, in như:
price = $par; function getPrice() echo $this->price .""; function setTitle($par) $this->title = $par; function getTitle() echo $this->title ."
"; ?>2
Sau đó, nếu lớp khác triển khai Interface đó, in như:
price = $par; function getPrice() echo $this->price .""; function setTitle($par) $this->title = $par; function getTitle() echo $this->title ."
"; ?>3
Hằng số (Constant) trong PHP
Một constant là một chiếc gì đó in như một biến, trong đó nó giữ một giá trị, nhưng thực sự thì nó giống một hàm hơn, chính bới một hằng là không thể thay đổi. Một khi bạn khai báo một hằng, nó không thay đổi.
Khai báo một hằng trong PHP là khá thuận tiện và đơn giản, như được thực hiện trong phiên bản MyClass này.
price = $par; function getPrice() echo $this->price .""; function setTitle($par) $this->title = $par; function getTitle() echo $this->title ."
"; ?>4
Trong lớp này, requireMargin là một hằng. Nó được khai báo với từ khóa const trong PHP, và giá trị của nó sẽ không thay đổi trong bất kỳ tình huống nào. Ghi nhớ rằng, tên hằng không khởi đầu với $, như trong tên biến.
Lớp trừu tượng (Abstract Class) trong PHP
Một lớp trừu tượng là một lớp mà không thể được khởi tạo, chỉ được thừa kế. Bạn khai báo một lớp trừu tượng với từ khóa abstract trong PHP, in như dưới đây.
Khi thừa kế từ một lớp trừu tượng, tất cả phương thức được đánh dấu abstract trong khai báo lớp cha phải được định nghĩa bởi lớp con; ngoài ra, những phương thức này phải được định nghĩa với cùng tính nhìn thấy.
price = $par; function getPrice() echo $this->price .""; function setTitle($par) $this->title = $par; function getTitle() echo $this->title ."
"; ?>5
Ghi chú rằng, những định nghĩa hàm bên trong một lớp trừu tượng cũng phải được đặt trước bởi từ khóa abstract. Trong PHP, nó là không hợp lệ nếu bạn có định nghĩa hàm abstract bên trong một lớp non-abstract.
Từ khóa static trong PHP
Khai báo những thành viên lớp hoặc phương thức lớp là static làm cho chúng hoàn toàn có thể truy cập mà không cần một khởi tạo lớp. Một thành viên được khai báo là static không thể được truy cập với một đối tượng lớp đã được khởi tạo (tuy nhiên một phương thức là static hoàn toàn có thể).
Ban thử ví dụ sau:
price = $par; function getPrice() echo $this->price .""; function setTitle($par) $this->title = $par; function getTitle() echo $this->title ."
"; ?>6
Từ khóa final trong PHP
PHP 5 ra mắt từ khóa final, mà ngăn cản những lớp con từ việc ghi đè một phương thức bằng việc đặt vào trước định nghĩa từ khóa final. Nếu chính lớp đó đang được khai bào là final, thì nó không thể được thừa kế.
Ví dụ sau tạo Fatal Error: Cannot override final method BaseClass::moreTesting()
price = $par; function getPrice() echo $this->price .""; function setTitle($par) $this->title = $par; function getTitle() echo $this->title ."
"; ?>7
Gọi constructor cha trong PHP
Thay vì viết cả một constructor mới cho lớp con, bạn hoàn toàn có thể viết nó bằng phương pháp gọi constructor của lớp cha một cách tường minh và sau dó thực hiện bất kỳ việc gì thiết yếu để khởi tạo lớp con này. Dưới đây là một ví dụ đơn giản trong PHP.
price = $par; function getPrice() echo $this->price .""; function setTitle($par) $this->title = $par; function getTitle() echo $this->title ."
"; ?>8
Trong ví dụ này, tất cả chúng ta có lớp cha Name, có một constructor nhận hai tham số, và một lớp con NameSub1, có một constructor nhận 3 tham số. Constructor của NameSub1 thực hiện hiệu suất cao bằng việc gọi constructor cha của nó một cách tường minh bởi sử dụng cú pháp :: (truyền hai tham số của nó) và sau đó thiết lập một trường tương hỗ update. Theo cách tương tự, NameSub1 định nghĩa hàm toString() mà nó ghi đè từ lớp cha.
Ví dụ − Một constructor hoàn toàn có thể được định nghĩa với cùng tên như tên của một lớp, như trong ví dụ trên.
Tải thêm tài liệu liên quan đến nội dung bài viết Hướng dẫn implements trong php programming php
Post a Comment