Hàm tạo cuộc gọi php bên trong lớp

Chúng tôi đã gọi hàm tạo cha mẹ trong vài bài viết trước mà không thực sự đi sâu vào chi tiết về nó. Nếu lớp con không định nghĩa hàm tạo, nó sẽ kế thừa hàm tạo cha như bất kỳ phương thức nào khác. Nếu một lớp con định nghĩa một hàm tạo của riêng nó, thì hàm tạo cha sẽ bị ghi đè. Để gọi hàm tạo cha, một lệnh gọi tới hàm cha. __construct[] phải được thực hiện từ hàm tạo con

Tóm tắt lại. Xem lại bài viết trước và mã

PHP — P66. So sánh đối tượng

PHP cho phép bạn so sánh các đối tượng với toán tử so sánh và nhận dạng. Khi sử dụng toán tử so sánh…

Blog. thiên tài. io

php-youtube-tutorials/66 So sánh đối tượng

Mã cho hướng dẫn PHP trên YouTube. Đóng góp cho sự phát triển của dinocajic/php-youtube-tutorials bằng cách tạo…

github. com

Nhìn vào lớp Lamborghini, nó chỉ là một lớp trống mở rộng Car. Lớp Car có chứa hàm tạo

Chúng ta có thể khởi tạo lớp và sử dụng hàm tạo cha mà không chỉ định hàm tạo bên trong lớp Lamborghini

Gọi phương thức get_year_make_and_model[] mang lại 1999 Lamborghini Diablo SV. Điều đó có nghĩa là hàm tạo cha trên thực tế đã được gọi và nó đặt các thuộc tính $year, $make và $model

Điều gì sẽ xảy ra nếu lớp Lamborghini có một hàm tạo? . làm, mô hình và màu sắc. Chúng ta sẽ không vượt qua năm nay

Bây giờ chúng ta có thể thử một số mã kiểm tra và xem nó có hoạt động không

Và chắc chắn, nó làm. Bạn có thể nghĩ rằng không nên xem xét rằng chúng tôi chưa bao giờ chuyển năm cho nhà xây dựng mẹ. Vì chúng ta đang gọi hàm tạo Lamborghini, nên hàm tạo cha không bao giờ được gọi

Nhưng nếu chúng ta muốn gọi hàm tạo cha và đặt năm trong khi sử dụng hàm tạo Lamborghini thì sao?

Lần này, chúng tôi sẽ sửa đổi hàm tạo để chấp nhận 4 đối số. $year, $make, $model và $secret_code. Tại sao lại là $secret_code? . Tài sản đó sẽ tồn tại bên trong lớp Lamborghini. Điều này sẽ làm cho mã dễ theo dõi hơn

public function construct[$year, $make, $model, $secret_code] { }

Chúng ta có thể đặt các thuộc tính $year, $make và $model bằng cách sử dụng từ khóa $this hoặc chúng ta có thể ưa thích và sử dụng hàm tạo chính. Làm cách nào để chúng ta gọi hàm tạo cha từ bên trong hàm tạo con?

parent::__construct[]

Điều này bây giờ đặt $secret_code bên trong lớp Lamborghini và gọi hàm tạo Ô tô để đặt ba thuộc tính khác

Hãy thêm các phương thức getter/setter cho thuộc tính $secret_code để chúng ta có thể thực hiện một số thử nghiệm bổ sung

Chạy mã cho chúng tôi kết quả mà chúng tôi đang tìm kiếm. Lamborghini Diablo SV 1999 0x4225sdf4

Một điều cuối cùng cần lưu ý là vị trí của cuộc gọi đến hàm tạo cha. Mặc dù các ngôn ngữ lập trình hướng đối tượng khác yêu cầu bạn phải gọi hàm tạo cha trước, nhưng trong PHP bạn có thể gọi nó bất kỳ lúc nào trong hàm tạo. Đoạn mã sau cũng sẽ hoạt động

Tôi vẫn muốn gọi hàm tạo cha ngay lập tức và sau đó thực thi bất kỳ mã bổ sung nào trong hàm tạo của lớp con đề phòng trường hợp PHP thay đổi ý định trong tương lai

dinocajic/php-7-youtube-tutorials

Mã cho PHP 7. x hướng dẫn trên YouTube

github. com

Ví dụ-2. Sử dụng các hàm tạo không tham số do người dùng định nghĩa

Tập lệnh sau đây cho thấy việc sử dụng hàm tạo ít tham số do người dùng định nghĩa bằng cách sử dụng tập lệnh PHP. Ở đây, phương thức khởi tạo được khai báo với tên của lớp để khởi tạo các biến lớp với các giá trị mặc định và phương thức display[] được khai báo để in các giá trị của các biến lớp

đầu ra

Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh. Khi đối tượng của lớp, $objuser, được khai báo, thì phương thức khởi tạo ít tham số, User[], được gọi tự động và khởi tạo các biến lớp với các giá trị mặc định

Ví dụ-3. Sử dụng hàm tạo được tham số hóa do người dùng định nghĩa

Tập lệnh sau đây cho thấy việc sử dụng hàm tạo được tham số hóa do người dùng định nghĩa bằng cách sử dụng tập lệnh PHP. Hàm tạo có tên, User[], chứa ba tham số ở đây sẽ được sử dụng để lưu trữ các giá trị được truyền vào thời điểm tạo đối tượng và khởi tạo các biến lớp với các giá trị đó. Phương thức display[] sẽ được sử dụng để in các biến lớp

đầu ra

Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh. Ở đây, phương thức display[] được gọi bằng cách sử dụng đối tượng lớp

Ví dụ-4. Gọi hàm tạo cha từ hàm tạo con

Đoạn script sau đây cho thấy cách hàm tạo của lớp cha có thể được gọi bên trong hàm tạo của lớp con. Ở đây, c1 là lớp cha có hàm tạo mặc định và biến lớp có tên $a. c2 là lớp con có một hàm tạo mặc định, trong đó hàm tạo cha đã được gọi bằng cách sử dụng từ khóa cha và một biến lớp có tên $b. Lớp c2 có phương thức add[] để tính tổng của $a và $b

đầu ra

Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh. Hàm tạo cha đã được gọi ở đây để khởi tạo giá trị của biến, $a

Video hướng dẫn

Sự kết luận

Việc sử dụng các loại hàm tạo khác nhau trong PHP hướng đối tượng đã được trình bày trong hướng dẫn này bằng cách sử dụng các ví dụ đơn giản để giúp người đọc biết các tính năng của hàm tạo và áp dụng nó đúng cách trong tập lệnh của họ

Làm cách nào chúng ta có thể gọi hàm tạo từ lớp cha trong PHP?

Để chạy hàm tạo cha, gọi hàm cha. Cần có __construct[] bên trong hàm tạo con . Nếu con không định nghĩa hàm tạo thì nó có thể được kế thừa từ lớp cha giống như một phương thức của lớp bình thường [nếu nó không được khai báo là riêng tư]. $obj = new OtherSubClass[];

Các phương thức __ constructor[] và __ desturation[] trong một lớp PHP là gì?

Được định nghĩa bên trong lớp và dùng để tự động gọi khi đối tượng được tạo. PHP4 cung cấp phương thức khởi tạo trong khi PHP5 cung cấp phương thức ma thuật __construct và __destroy. Phương thức này được gọi tự động khi một đối tượng được tạo hoặc hủy .

Chúng ta có thể ghi đè hàm tạo trong PHP không?

Trong PHP, quy tắc duy nhất để ghi đè hàm tạo là không có quy tắc nào. Có thể ghi đè hàm tạo bằng bất kỳ chữ ký nào . Các tham số của chúng có thể được thay đổi tự do và không có hậu quả.

Hàm tạo có thể ở chế độ riêng tư trong PHP không?

Một hàm tạo riêng được sử dụng để ngăn chặn việc tạo trực tiếp các đối tượng từ lớp. Quá trình đắt tiền được thực hiện trong hàm tạo riêng. Cách duy nhất để tạo một thể hiện từ lớp là sử dụng một phương thức tĩnh chỉ tạo đối tượng nếu nó chưa được tạo

Chủ Đề