Thuộc tính mảng lớp php
Trong bài viết này, chúng ta sẽ tìm hiểu những điều cơ bản về lập trình hướng đối tượng trong PHP. Chúng ta sẽ bắt đầu với phần giới thiệu về các lớp và đối tượng và chúng ta sẽ thảo luận về một số khái niệm nâng cao như tính kế thừa và tính đa hình trong nửa sau của bài viết này Show Lập trình hướng đối tượng (OOP) là gì?Lập trình hướng đối tượng, thường được gọi là OOP, một cách tiếp cận giúp bạn phát triển các ứng dụng phức tạp theo cách dễ dàng duy trì và có thể mở rộng trong thời gian dài. Trong thế giới của OOP, các thực thể trong thế giới thực như class Employee52, class Employee53 hoặc class Employee54 được coi là đối tượng (object). Trong khi thiết lập hướng đối tượng, bạn tương tác với ứng dụng của mình bằng cách sử dụng các đối tượng. Điều này ngược lại với lập trình thủ tục (thủ tục), nơi bạn chủ yếu tương tác với các hàm và biến toàn cục Trong OOP, có khái niệm về "lớp", được sử dụng để mô hình hóa hoặc ánh xạ một thực thể trong thế giới thực sang một mẫu dữ liệu (thuộc tính - thuộc tính) và chức năng (phương thức - phương thức). Một "đối tượng" là giá trị của một lớp và bạn có thể tạo nhiều giá trị của cùng một lớp. Ví dụ. has one class single class Employee52, but many object person could be the value of this class - class Employee56, class Employee57, class Employee58, v. v Định nghĩa các thuộc tính class - property. Ví dụ. đối với hạng Người, chúng ta có thể có class Employee59, class Employee60 và class Employee61. Sau đó, mỗi đối tượng người sẽ có giá trị riêng cho các thuộc tính đó Bạn có thể định nghĩa các phương thức trong lớp cho phép bạn thao tác các giá trị của các đối tượng thuộc tính và thực hiện các thao tác trên các đối tượng cũng như. Ví dụ, bạn có thể định nghĩa một phương thức class Employee62 để lưu đối tượng thông tin vào cơ sở dữ liệu Lớp trong PHP là gì?Một lớp là một khuôn mẫu đại diện cho một thực thể trong thế giới thực và nó định nghĩa các thuộc tính và phương thức của thực thể. Trong phần này, chúng tôi sẽ thảo luận về khung cơ bản của một lớp PHP điển hình Cách tốt nhất để hiểu các khái niệm mới là thông qua ví dụ. Vì vậy, hãy xem lớp class Employee63 trong đoạn trích sau, đại diện cho nhân viên thực tế class Employee2 class Employee3 class Employee4 class Employee class Employee6 class Employee7 class Employee8 class Employee9 class Employee0 class Employee1 class Employee30 class Employee31 class Employee32 class Employee33 class Employee34 class Employee35 class Employee36 class Employee37 class Employee38 class Employee39 class Employee40 class Employee41 class Employee42 class Employee43 class Employee44 class Employee45 class Employee46 class Employee47 class Employee48 class Employee49 class Employee37 class Employee1 class Employee2 class Employee3 class Employee45 class Employee5 class Employee6 class Employee7 class Employee8 class Employee37 class Employee60 class Employee61 class Employee62 class Employee45 class Employee64 class Employee65 class Employee66 class Employee67 class Employee37 class Employee69 class Employee70 class Employee71 class Employee45 class Employee73 class Employee74 class Employee75 class Employee76 Câu lệnh class Employee64 trong dòng đầu tiên định nghĩa lớp class Employee63. Sau đó, chúng ta tiếp tục khai báo các thuộc tính, hàm tạo hàm và các lớp phương thức khác Thuộc tính class trong PHPBạn có thể nghĩ các thuộc tính của lớp là các biến được sử dụng để chứa thông tin về đối tượng. Trong ví dụ trên, chúng tôi đã xác định ba thuộc tính của - class Employee66, class Employee67 và class Employee60. Trong đa số trường hợp, các thuộc tính của lớp được truy xuất thông qua các đối tượng được khởi tạo Các thuộc tính này là class Employee69, có nghĩa là chúng chỉ có thể được truy xuất từ bên trong lớp. Đây là mức truy xuất an toàn nhất cho các thuộc tính. Chúng tôi sẽ thảo luận về các cấp truy xuất khác nhau cho các thuộc tính và phương thức của lớp sau trong bài viết này Constructor cho các lớp PHPHàm khởi tạo là một lớp phương thức đặc biệt được gọi khi bạn khởi tạo một đối tượng. Chúng ta sẽ xem xét cách khởi tạo các đối tượng trong vài phần tiếp theo, nhưng bây giờ bạn chỉ cần biết rằng một hàm tạo hàm được sử dụng để khởi tạo các thuộc tính đối tượng khi đối tượng được tạo ra Bạn có thể xác định hàm tạo hàm bằng cách xác định phương thức định nghĩa class Employee70 Các phương thức cho các lớp PHPChúng ta có thể nghĩ về các phương thức của lớp là các hàm thực hiện các công cụ hành động có thể được liên kết với các đối tượng. Trong hầu hết các trường hợp, chúng tôi được sử dụng để truy xuất và thao tác các đối tượng thuộc tính và thực hiện các hoạt động liên quan Trong ví dụ trên, chúng tôi đã xác định phương thức class Employee71, nó trả về họ được liên kết với đối tượng Vì vậy, một giới thiệu rút gọn về lớp cấu trúc trong PHP. Trong phần tiếp theo, chúng tôi sẽ xem cách khởi tạo các đối tượng của lớp class Employee63 Một đối tượng trong PHP là gì?Trong phần trước, chúng ta đã thảo luận về cấu trúc cơ bản của một lớp trong PHP. Bây giờ, khi bạn muốn sử dụng một lớp, bạn cần khởi động nó và kết quả cuối cùng là một đối tượng. Vì vậy, chúng ta có thể coi một lớp học như một bản thiết kế và một đối tượng là một thứ thực tế mà bạn có thể làm việc với Trong ngữ cảnh của lớp class Employee63 mà chúng ta vừa tạo trong phần trước, hãy xem cách khởi tạo một đối tượng của lớp đó class Employee2______13 class Employee4 class Employee80 class Employee6 class Employee8 class Employee83 class Employee0 class Employee85 class Employee30 class Employee87 class Employee32 class Employee76 Bạn cần sử dụng từ khóa class Employee74 khi bạn muốn khởi tạo một đối tượng của bất kỳ lớp nào giống với tên lớp của nó và bạn sẽ nhận lại một giá trị đối tượng mới của lớp đó Nếu một lớp đã định nghĩa phương thức class Employee70 và nó yêu cầu các đối số, bạn cần truyền các đối số đó khi bạn khởi tạo một đối tượng. Trong trường hợp của chúng tôi, hàm tạo hàm của lớp class Employee63 yêu cầu ba đối số và do đó chúng tôi đã vượt qua những đối số này khi chúng tôi tạo đối tượng class Employee77. Như chúng ta đã thảo luận trước đó, phương thức class Employee70 được gọi là tự động khi đối tượng được khởi động Tiếp theo, chúng tôi đã gọi các phương thức lớp trên đối tượng class Employee77 để thông tin được khởi động trong quá trình tạo đối tượng. Tất nhiên, bạn có thể tạo nhiều đối tượng của cùng một lớp, như được hiển thị trong đoạn mã sau class Employee2 class Employee3 class Employee4 class Employee93 class Employee6 class Employee8 class Employee96 class Employee0 class Employee98 class Employee30 class Employee00 class Employee32 class Employee34 class Employee03 class Employee36 class Employee38 class Employee06 class Employee40 class Employee08 class Employee42 class Employee10 class Employee44 class Employee76 Hình ảnh sau đây là biểu tượng hình ảnh của lớp Nhân viên và một số trường hợp của nó Nói một cách đơn giản, một lớp là một bản thiết kế mà bạn có thể sử dụng để tạo ra các đối tượng có cấu trúc Encapsulation (tính đóng gói)Trong phần trước, chúng ta đã thảo luận về cách khởi động các đối tượng của lớp class Employee63. Thật thú vị khi lưu ý rằng đối tượng chính class Employee77 kết hợp các thuộc tính và phương thức của lớp. Nói cách khác, đối tượng này ẩn đi những chi tiết đó từ phần còn lại của chương trình. Trong thế giới OOP, điều này được gọi là gói đóng gói (đóng dữ liệu) Đóng gói là một khía cạnh quan trọng của OOP cho phép bạn hạn chế quyền truy xuất vào các thuộc tính hoặc phương thức xác định nhất của đối tượng. Và điều đó đã đưa chúng ta đến một chủ đề khác để thảo luận. access level - output level Access Levels (mức độ truy xuất)Khi bạn định nghĩa một thuộc tính hoặc một phương thức trong một lớp học, bạn có thể tuyên bố nó có một trong ba cấp truy xuất này, class Employee82, class Employee69 hoặc class Employee84 Truy cập công cộngKhi bạn khai báo một thuộc tính hoặc một phương thức là công khai, nó có thể được truy xuất từ bất kỳ nơi nào bên ngoài lớp. Giá trị của một thuộc tính công cộng có thể được sửa đổi từ bất kỳ nơi nào trong mã của bạn Hãy xem xét một ví dụ để hiểu mức độ truy xuất công khai class Employee2 class Employee3 class Employee4 class Employee16 class Employee6 class Employee7 class Employee8 class Employee300 class Employee0 class Employee30 class Employee303 class Employee32 class Employee37 class Employee34 class Employee307 class Employee36 class Employee45 class Employee38 class Employee74 class Employee40 class Employee42 class Employee314 class Employee44 class Employee316 class Employee46_______146_____143 Như bạn có thể thấy trong ví dụ trên, chúng tôi đã khai báo thuộc tính class Employee59 là công khai. Do đó, bạn có thể đặt nó từ bất kỳ nơi nào bên ngoài lớp, như đã thực hiện ở đây truy cập cá nhânKhi bạn khai báo một thuộc tính hoặc một phương thức là class Employee69, nó chỉ có thể được truy xuất từ bên trong lớp. Điều này có nghĩa là bạn cần xác định các phương thức getter và setter để lấy và xem xét giá trị của thuộc tính đó Một lần nữa, hãy xem lại ví dụ trước để hiểu định mức truy xuất riêng class Employee2 class Employee3 class Employee4 class Employee16 class Employee6 class Employee7 class Employee8 class Employee328 class Employee0 class Employee30 class Employee303 class Employee32 class Employee37 class Employee34 class Employee307 class Employee36 class Employee45 class Employee38 class Employee40 class Employee340 class Employee42 class Employee37 class Employee44 class Employee344 class Employee46 class Employee45 class Employee47 class Employee74 class Employee49 class Employee1 class Employee314 class Employee3 class Employee353 class Employee5 class Employee355 class Employee6 class Employee318 class Employee8 class Employee76 Nếu bạn thử truy xuất một tài sản riêng bên ngoài lớp, nó sẽ gây ra lỗi nghiêm trọng class Employee87. Vì vậy, bạn cần đánh giá giá trị của thuộc tính private bằng phương thức setter, vì chúng ta đã sử dụng phương thức class Employee88 Có nhiều lý do giải thích bạn có thể muốn làm cho một tài sản riêng. Ví dụ, có lẽ nên thực hiện một số hành động (cập nhật cơ sở dữ liệu, giả sử hoặc hiển thị lại một mẫu) nếu thuộc tính đó thay đổi. Trong trường hợp đó, bạn có thể định nghĩa một phương thức setter và xử lý bất kỳ logic đặc biệt nào khi thuộc tính được thay đổi Truy cập được bảo vệCuối cùng, khi bạn khai báo một thuộc tính hoặc một phương thức là class Employee84, nó có thể được truy xuất bởi cùng một lớp đã định nghĩa nó và các lớp kế thừa lớp. Chúng ta sẽ thảo luận về kế thừa trong phần tiếp theo, vì vậy chúng ta sẽ quay lại cấp độ truy xuất được bảo vệ sau đó Kế thừa - kế thừaKế thừa là một khía cạnh quan trọng của mô hình lập trình hướng đối tượng, cho phép bạn kế thừa các thuộc tính và phương thức của các lớp khác nhau bằng cách mở rộng chúng. Lớp kế thừa được gọi là lớp cha và lớp kế thừa khác được gọi là lớp con. Khi bạn khởi tạo một đối tượng của lớp con, nó cũng thừa hưởng các thuộc tính và phương thức của lớp cha Chúng ta hãy nhìn vào ảnh chụp màn hình sau đây để hiểu về khái niệm thừa kế Trong ví dụ trên, lớp Người là lớp cha và lớp Nhân viên mở rộng hoặc kế thừa lớp Người và do đó được gọi là lớp con Chúng ta hãy thử xem xét một ví dụ thực tế để hiểu cách thức hoạt động của nó class Employee2 class Employee3 class Employee4 class Employee16 class Employee6 class Employee7 class Employee8 class Employee367 class Employee0 class Employee369 class Employee30 class Employee32 class Employee303 class Employee34 class Employee37 class Employee36 class Employee307 class Employee38 class Employee45 class Employee40 class Employee42 class Employee340 class Employee44 class Employee37 class Employee46 class Employee344 class Employee47 class Employee45 class Employee49 class Employee1 class Employee390 class Employee3 class Employee37 class Employee5 class Employee394 class Employee6 class Employee45 class Employee8 class Employee60 class Employee399 class Employee62 class Employee37 class Employee64 class Employee394 class Employee65 class Employee45 class Employee67 class Employee74 class Employee69 class Employee71 class Employee410 class Employee73 class Employee7 class Employee75 class Employee414 class Employee415 class Employee416 class Employee417 class Employee418 class Employee66 class Employee420 class Employee37 class Employee422 class Employee70 class Employee424 class Employee45 class Employee426 class Employee427 class Employee428 class Employee429 class Employee37 class Employee431 class Employee43 class Employee433 class Employee45 class Employee435 class Employee436 class Employee437 class Employee438 class Employee37 class Employee440 class Employee441 class Employee442 class Employee45 class Employee444 class Employee445 class Employee446 class Employee447 class Employee Điều quan trọng cần lưu ý ở đây là lớp class Employee63 đã sử dụng từ khóa class Employee91 để kế thừa lớp class Employee52. Bây giờ, lớp class Employee63 có thể truy xuất tất cả các thuộc tính và phương thức của lớp class Employee52 được công bố là công khai hoặc được bảo vệ. (Nó không thể truy xuất các thành viên được công bố là riêng tư) Trong ví dụ trên, đối tượng class Employee95 có thể truy xuất các phương thức class Employee96 và class Employee88 được định nghĩa trong lớp class Employee52 khi được công khai Tiếp theo, chúng tôi đã truy xuất phương thức class Employee99 bằng phương thức class Employee600 được xác định trong lớp class Employee63, vì nó được khai báo là đã được bảo vệ. Cuối cùng, đối tượng class Employee95 không thể truy xuất phương thức class Employee603 của lớp class Employee52 vì nó được báo cáo là riêng tư Mặt khác, bạn có thể sử dụng đối tượng class Employee95 để đặt thuộc tính class Employee60 của lớp class Employee52, vì chúng ta đã làm theo phương thức class Employee608 được định nghĩa trong lớp class Employee63, vì thuộc tính class Employee60 được tuyên bố là được bảo vệ Vì vậy, đó là một giới thiệu rút gọn về thừa kế. Nó giúp bạn giảm trùng lặp mã và làm giảm khả năng sử dụng lại mã đó đa hìnhĐa hình là một khái niệm quan trọng khác trong thế giới lập trình hướng đối tượng, đề cập đến khả năng xử lý các đối tượng khác nhau dựa trên các loại dữ liệu của chúng Ví dụ, trong hướng thừa kế, nếu lớp con muốn thay đổi hành vi của phương thức của lớp cha, nó có thể ghi đè phương thức đó. This is call is override phương thức. Hãy nhanh chóng xem qua một ví dụ thực tế để hiểu khái niệm về ghi đè phương thức class Employee2 class Employee3 class Employee4 class Employee12 class Employee6 class Employee7 class Employee8 class Employee16 class Employee0 class Employee37 class Employee30 class Employee20 class Employee32 class Employee45 class Employee34 class Employee74 class Employee36 class Employee38 class Employee27 class Employee40 class Employee7 class Employee42 class Employee16 class Employee44 class Employee37 class Employee46 class Employee35 class Employee47 class Employee45 class Employee49 class Employee74 class Employee1 class Employee3 class Employee42 class Employee5 class Employee44 class Employee6 class Employee8 class Employee47 class Employee60 class Employee49 class Employee62 class Employee76 Như bạn có thể thấy, chúng tôi đã thay đổi hành vi của phương thức class Employee611 bằng cách ghi đè lên nó trong lớp class Employee612. Điều quan trọng là một thông điệp được định dạng khác nhau dựa trên loại đối tượng, cho dù đó là giá trị của lớp cha hay lớp con (Một số ngôn ngữ hướng đối tượng cũng có một kiểu quá tải phương thức cho phép bạn định nghĩa nhiều phương thức của lớp có cùng tên nhưng số lượng đối số khác nhau. Điều này không được hỗ trợ trực tiếp trong PHP, nhưng có một số cách giải quyết để đạt được chức năng tương tự) Tổng kếtLập trình hướng đối tượng là một chủ đề lớn và chúng chỉ ra mặt nổi của sự phức tạp của nó. Tôi hy vọng rằng hướng dẫn này đã giúp bạn bắt đầu với những điều cơ bản của OOP và thúc đẩy bạn tiếp tục và tìm hiểu các chủ đề OOP nâng cao hơn
Lập trình hướng đối tượng là một khía cạnh quan trọng trong việc phát triển ứng dụng, bất kể bạn đang làm việc với công nghệ nào. Hôm nay, trong ngữ cảnh của PHP, chúng ta đã thảo luận về một vài khái niệm cơ bản về OOP và nhân cơ hội này để giới thiệu một vài ví dụ thực tế |