Cách sử dụng biến riêng trong một lớp khác trong php?

“Các biến riêng tư chỉ có thể truy cập trực tiếp từ bên trong lớp và rất tốt để giữ dữ liệu mà bạn không muốn chia sẻ với mọi người. “

Có thể tôi quá chú ý đến từ ngữ, nhưng bạn thực sự không thể truy cập bất cứ thứ gì từ một lớp [vì nó chỉ giống như một hàm tạo cho các đối tượng], phải không? . Hay tôi không hiểu đúng?

Bạn có thể gọi phương thức riêng từ bên ngoài lớp bằng cách thay đổi hành vi thời gian chạy của lớp

Với sự giúp đỡ của java. lang thang. Lớp lớp và java. lang thang. phản chiếu. Lớp phương thức, chúng ta có thể gọi một phương thức riêng tư từ bất kỳ lớp nào khác

Các phương thức cần thiết của lớp Method

1] public void setAccessible[boolean status] throws SecurityException đặt khả năng truy cập của phương thức

2] gọi đối tượng công khai [Phương thức đối tượng, Đối tượng. args] ném IllegalAccessException, IllegalArgumentException, InvocationTargetException được sử dụng để gọi phương thức

Phương thức bắt buộc của lớp Class

1] phương thức công khai getDeclaredMethod[String name,Class[] parameterTypes]ném NoSuchMethodException,SecurityException. trả về một đối tượng Phương thức phản ánh phương thức được khai báo đã chỉ định của lớp hoặc giao diện được đại diện bởi đối tượng Lớp này

Ví dụ gọi phương thức private từ lớp khác

Hãy xem ví dụ đơn giản để gọi phương thức private từ một lớp khác

Tập tin. Một. java

Tập tin. Phương thứcGọi. java

đầu ra

Một ví dụ khác để gọi phương thức riêng được tham số hóa từ một lớp khác

Hãy xem ví dụ để gọi phương thức riêng được tham số hóa từ một lớp khác

Tập tin. Một. java

Tập tin. m. java

đầu ra

Truy cập Trình xây dựng riêng của một lớp

Chúng ta biết rằng hàm tạo của một lớp là một loại phương thức đặc biệt được sử dụng để khởi tạo lớp. Để truy cập private constructor, chúng ta sử dụng phương thức getDeclaredConstructor[]. getDeclaredConstructor[] được sử dụng để truy cập một hàm tạo không tham số cũng như một hàm tạo có tham số của một lớp. Ví dụ sau đây cho thấy tương tự

Khi lưu bạn có thể lấy id của thực thể mà bạn muốn lưu bằng $user->getId[], trong trường hợp này nó sẽ trả về ID của người dùng vì chúng ta đã lấy người dùng từ cơ sở dữ liệu. Sau đó, bạn có thể cho rằng đó là người dùng hiện tại cần được cập nhật

Từ khóa là những từ được sử dụng làm dự trữ trong một chương trình có ý nghĩa đặc biệt được gán cho chúng. Chúng có thể là một lệnh hoặc tham số. Giống như mọi ngôn ngữ lập trình khác, PHP cũng có một tập hợp các từ đặc biệt gọi là từ khóa không thể dùng làm tên biến cho các mục đích khác. Chúng còn được gọi là tên dành riêng

Gói phát triển phần mềm tất cả trong một[hơn 600 khóa học, hơn 50 dự án]

Giá
Xem khóa học

600+ Khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 6 [85.084 xếp hạng]

Một từ khóa riêng tư, như tên gợi ý, là từ khóa chỉ có thể được truy cập từ bên trong lớp mà nó được định nghĩa. Tất cả các từ khóa theo mặc định thuộc danh mục công khai trừ khi chúng được chỉ định là riêng tư hoặc được bảo vệ. Từ khóa riêng giúp ích cho mục đích bảo mật bằng cách cung cấp khả năng hiển thị ít nhất cho từ khóa trong toàn bộ mã. Nó cũng dễ khúc xạ hơn khi chỉ có một lớp duy nhất gọi từ khóa này

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

Ngoài các từ khóa riêng tư, cũng có thể có các phương thức riêng tư. Trong lập trình hướng đối tượng, các phương thức là tập hợp các thủ tục được liên kết với bất kỳ lớp nào. Trong trường hợp các phương thức riêng tư, chúng chỉ được phép gọi trong các phương thức thuộc cùng một lớp hoặc mô-đun của nó

Ngoài ra còn có các hằng và thuộc tính riêng có thể được khai báo. Khả năng hiển thị trong những trường hợp này chỉ bị giới hạn giữa các lớp của chúng chứ không phải các thể hiện. Nếu hai đối tượng cùng loại thì một đối tượng có thể gọi phương thức riêng của đối tượng khác

cú pháp

Bất kỳ biến, thuộc tính hoặc phương thức nào cũng có thể được khai báo là riêng tư bằng cách đặt trước nó bằng từ khóa “riêng tư”

class MyClass[]
{
private variable_name;
private Method_name[];
private $priv = 'Private property';
}

Ví dụ về sở hữu tư nhân

Hãy cho chúng tôi hiểu hoạt động của thuộc tính riêng tư trong PHP bằng cách lấy ví dụ dưới đây

Mã số

Đầu ra 1

Đầu ra 2. Sau khi comment ở dòng 23

Đầu ra 3. Sau khi bình luận trên dòng 24

Đầu ra 4. Sau khi bình luận ở dòng 46, 47 và 40

Giải thích cho đoạn mã trên. Khi bạn chạy mã này hoàn toàn, bạn chắc chắn sẽ gặp lỗi nghiêm trọng ở một vài số dòng như dòng. 25,26,45,52,53. Đầu tiên chúng ta khai báo cả 3 thuộc tính public, private và protected trong lớp chính PHPExample để hiển thị các từ tương ứng của chúng. Nội tuyến 25, chúng tôi đang cố gắng truy cập cả 3 thuộc tính từ lớp PHPExample. Vì các ví dụ riêng tư và được bảo vệ không thể truy cập được bên ngoài lớp của chúng, nên chúng tôi gặp lỗi nghiêm trọng ở đầu ra như được hiển thị và chỉ thuộc tính công khai được hiển thị

Trong nửa sau của mã, chúng tôi đang khai báo một lớp PHPExample2 khác, nơi chúng tôi đang khai báo lại các giá trị hiển thị cho các thuộc tính được bảo vệ và công khai. Điều tương tự không được phép đối với riêng tư và sau đó chúng tôi đang thực hiện hành động tương tự như trong nửa đầu. Vì chúng tôi đang cố gọi thuộc tính riêng tư không được khai báo ở đây, nên chúng tôi gặp lỗi thuộc tính không xác định

Ví dụ về phương thức và từ khóa riêng tư

Hãy cho chúng tôi hiểu hoạt động của phương thức riêng tư và từ khóa trong PHP bằng cách lấy ví dụ dưới đây

Mã số

Đầu ra 1

Đầu ra 2. Sau khi bình luận dòng 32, 33 và 36

Giải thích cho đoạn mã trên. Trong ví dụ trên, $first_name và $last_name được khai báo là các biến riêng của lớp NameExample và do đó chúng không thể được gọi trực tiếp bằng đối tượng lớp. Do đó, khi chúng tôi thử chạy mã lần đầu tiên, chúng tôi gặp lỗi là “Biến không xác định. first_name trong /workspace/NameExample. php trên dòng 32” và tương tự với dòng 33. Khi comment 2 dòng này và chạy lại code thì báo lỗi “Uncaught Error. Gọi tên hàm thành viên[] trên null trong /workspace/NameExample. php. 36”

Điều này là do chúng tôi đã khai báo hàm fName là riêng tư và nó đang cố truy cập cùng một. Mã chạy trơn tru khi dòng 36 cũng được nhận xét và hiển thị từ tên phương thức vì đây là phương thức công khai

Ưu điểm của việc sử dụng riêng tư trong PHP

Dưới đây là những Ưu điểm của việc Sử dụng Riêng tư trong PHP

  1. Các biến riêng tư vẫn có thể được truy cập bằng cách sử dụng “getters” và “setters” giúp lập trình viên có nhiều quyền kiểm soát hơn đối với việc truy cập dữ liệu
  2. Inturn riêng có nghĩa là đóng gói cũng phân tách các biến từ lớp này sang lớp khác do đó bảo vệ các thay đổi được thực hiện đối với lớp bên trong
  3. Hành vi của các biến riêng tư bị hạn chế bên trong lớp cụ thể đó và cũng tránh nhầm lẫn
  4. Các biến riêng tư có thể dễ dàng được triển khai lại mà không có nguy cơ vi phạm mã ở bất kỳ đâu

Quy tắc và Quy định dành cho Riêng tư trong PHP

Sau đây là các Quy tắc và Quy định phải tuân theo đối với Riêng tư trong PHP

  1. Đối với bất kỳ thành viên biến hoặc phương thức nào, người ta phải luôn khai báo phạm vi của nó là thuộc về công khai, được bảo vệ hay riêng tư
  2. Theo thứ tự các phương pháp, người ta nên làm theo thứ tự sau. công khai,> được bảo vệ> riêng tư
  3. Các biến riêng tư không thể được truy cập từ lớp con được khai báo bằng cách mở rộng chúng từ lớp chính nơi chúng được khai báo. Tuy nhiên, nó có thể được truy cập nếu cùng một thuộc tính riêng được khai báo lại trong lớp con nhưng không nên làm như vậy
  4. Do đó, một phương thức riêng được khai báo trong một lớp chỉ có thể được gọi bên trong lớp đó

Phần kết luận

Riêng tư là một cách hạn chế khả năng truy cập của các biến, phương thức hoặc thuộc tính của một lớp. Chúng chỉ có thể được truy cập trong lớp mà chúng được khai báo chứ không phải từ bất kỳ lớp con nào mở rộng từ nó. Bất kỳ thuộc tính được bảo vệ nào từ lớp cha có thể bị lớp con ghi đè và đặt ở chế độ công khai nhưng không thể đặt ở chế độ riêng tư

Bài viết được đề xuất

Đây là hướng dẫn về Riêng tư trong PHP. Ở đây chúng ta thảo luận về hai ví dụ khác nhau về Private trong PHP với các ưu điểm cũng như các quy tắc và quy định phải tuân theo trong đó. Bạn cũng có thể xem qua các bài viết liên quan khác của chúng tôi để tìm hiểu thêm –

Làm cách nào để truy cập biến riêng trong một lớp khác trong php?

Bạn cần đặt quyền truy cập thành được bảo vệ. Riêng tư có nghĩa là nó chỉ có thể được truy cập từ bên trong lớp của chính nó và không thể kế thừa. Được bảo vệ cho phép nó được kế thừa nhưng vẫn không thể truy cập trực tiếp từ bên ngoài lớp. Lưu câu trả lời này

Các biến riêng tư có thể được truy cập bởi các lớp khác không?

Các biến riêng tư chỉ có thể truy cập trực tiếp từ bên trong lớp và phù hợp để giữ dữ liệu mà bạn không muốn chia sẻ .

Chúng ta có thể truy cập phương thức riêng tư từ lớp php bên ngoài không?

PHP - Công cụ sửa đổi truy cập . được bảo vệ - thuộc tính hoặc phương thức có thể được truy cập trong lớp và bởi các lớp dẫn xuất từ ​​lớp đó. private - thuộc tính hoặc phương thức CHỈ có thể được truy cập trong lớp .

Làm cách nào để truy cập riêng tư trong php?

Từ khóa riêng tư là công cụ sửa đổi quyền truy cập. Nó đánh dấu một thuộc tính hoặc phương thức là riêng tư. Các thuộc tính và phương thức riêng chỉ có thể được sử dụng bởi lớp trong đó thuộc tính hoặc phương thức được định nghĩa. Các lớp dẫn xuất và mã bên ngoài không thể sử dụng chúng.

Chủ Đề