Hướng dẫn what is class and method in php? - lớp và phương thức trong php là gì?


Một lớp là một mẫu cho các đối tượng và một đối tượng là một thể hiện của lớp.


Trường hợp OOP

Giả sử chúng ta có một lớp học tên là trái cây. Một loại trái cây có thể có các thuộc tính như tên, màu sắc, trọng lượng, v.v. Chúng ta có thể xác định các biến như $ name, $ color và $ trọng lượng để giữ các giá trị của các thuộc tính này.

Khi các đối tượng riêng lẻ (táo, chuối, v.v.) được tạo, chúng kế thừa tất cả các thuộc tính và hành vi từ lớp, nhưng mỗi đối tượng sẽ có các giá trị khác nhau cho các thuộc tính.


Xác định một lớp

Một lớp được xác định bằng cách sử dụng từ khóa class, theo sau là tên của lớp và một cặp niềng răng xoăn ({}). Tất cả các thuộc tính và phương pháp của nó đi vào bên trong niềng răng:

Cú pháp

class Fruit {
  // code goes here...
}
?>

Dưới đây chúng tôi khai báo một lớp có tên trái cây bao gồm hai thuộc tính ($ name và $ color) và hai phương thức set_name () và get_name () để cài đặt và nhận thuộc tính $ name:

class Fruit {
  // Properties
  public $name;
  public $color;

& nbsp; // Phương pháp & nbsp; hàm set_name ($ name) {& nbsp; & nbsp; & nbsp; $ this-> name = $ name; & nbsp; } & nbsp; hàm get_name () {& nbsp; & nbsp; & nbsp; trả về $ this-> tên; & nbsp; }}?>
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}
?>

Lưu ý: Trong một lớp, các biến được gọi là thuộc tính và hàm được gọi là phương thức! In a class, variables are called properties and functions are called methods!


Xác định các đối tượng

Các lớp học không có gì nếu không có đối tượng! Chúng ta có thể tạo nhiều đối tượng từ một lớp. Mỗi đối tượng có tất cả các thuộc tính và phương thức được xác định trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau.

Đối tượng của một lớp được tạo bằng từ khóa new.

Trong ví dụ dưới đây, $ Apple và $ Banana là những trường hợp của loại trái cây:

Thí dụ

class Fruit {
  // Properties
  public $name;
  public $color;

& nbsp; // Phương pháp & nbsp; hàm set_name ($ name) {& nbsp; & nbsp; & nbsp; $ this-> name = $ name; & nbsp; } & nbsp; hàm get_name () {& nbsp; & nbsp; & nbsp; trả về $ this-> tên; & nbsp; }}?>
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}

Lưu ý: Trong một lớp, các biến được gọi là thuộc tính và hàm được gọi là phương thức!
$banana = new Fruit();
$apple->set_name('Apple');
$banana->set_name('Banana');

Xác định các đối tượng
echo "
";
echo $banana->get_name();
?>

Các lớp học không có gì nếu không có đối tượng! Chúng ta có thể tạo nhiều đối tượng từ một lớp. Mỗi đối tượng có tất cả các thuộc tính và phương thức được xác định trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau.

Đối tượng của một lớp được tạo bằng từ khóa new.

Thí dụ

class Fruit {
  // Properties
  public $name;
  public $color;

& nbsp; // Phương pháp & nbsp; hàm set_name ($ name) {& nbsp; & nbsp; & nbsp; $ this-> name = $ name; & nbsp; } & nbsp; hàm get_name () {& nbsp; & nbsp; & nbsp; trả về $ this-> tên; & nbsp; }}?>
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
  function set_color($color) {
    $this->color = $color;
  }
  function get_color() {
    return $this->color;
  }
}

Lưu ý: Trong một lớp, các biến được gọi là thuộc tính và hàm được gọi là phương thức!
$apple->set_name('Apple');
$apple->set_color('Red');
echo "Name: " . $apple->get_name();
echo "
";
echo "Color: " . $apple->get_color();
?>

Các lớp học không có gì nếu không có đối tượng! Chúng ta có thể tạo nhiều đối tượng từ một lớp. Mỗi đối tượng có tất cả các thuộc tính và phương thức được xác định trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau.



Đối tượng của một lớp được tạo bằng từ khóa new.

Trong ví dụ dưới đây, $ Apple và $ Banana là những trường hợp của loại trái cây:

Thí dụ

Thí dụ

class Fruit {
  public $name;
}
$apple = new Fruit();
?>

Dưới đây chúng tôi khai báo một lớp có tên trái cây bao gồm hai thuộc tính ($ name và $ color) và hai phương thức set_name () và get_name () để cài đặt và nhận thuộc tính $ name:

1. Inside the class (by adding a set_name() method and use $this):

Thí dụ

& nbsp; // Phương pháp & nbsp; hàm set_name ($ name) {& nbsp; & nbsp; & nbsp; $ this-> name = $ name; & nbsp; } & nbsp; hàm get_name () {& nbsp; & nbsp; & nbsp; trả về $ this-> tên; & nbsp; }}
class Fruit {
  public $name;
  function set_name($name) {
    $this->name = $name;
  }
}
$apple = new Fruit();
$apple->set_name("Apple");

$ apple = new Fruit (); $ chuối = fruit new (); $ apple-> set_name ('apple'); $ chuối-> set_name ('chuối');
?>

Các lớp học không có gì nếu không có đối tượng! Chúng ta có thể tạo nhiều đối tượng từ một lớp. Mỗi đối tượng có tất cả các thuộc tính và phương thức được xác định trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau.

Đối tượng của một lớp được tạo bằng từ khóa new.

Thí dụ

& nbsp; // Phương pháp & nbsp; hàm set_name ($ name) {& nbsp; & nbsp; & nbsp; $ this-> name = $ name; & nbsp; } & nbsp; hàm get_name () {& nbsp; & nbsp; & nbsp; trả về $ this-> tên; & nbsp; }}
class Fruit {
  public $name;
}
$apple = new Fruit();
$apple->name = "Apple";

$ apple = new Fruit (); $ chuối = fruit new (); $ apple-> set_name ('apple'); $ chuối-> set_name ('chuối');
?>

Các lớp học không có gì nếu không có đối tượng! Chúng ta có thể tạo nhiều đối tượng từ một lớp. Mỗi đối tượng có tất cả các thuộc tính và phương thức được xác định trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau.


Đối tượng của một lớp được tạo bằng từ khóa new.

Trong ví dụ dưới đây, $ Apple và $ Banana là những trường hợp của loại trái cây:

Thí dụ

$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>

Các lớp học không có gì nếu không có đối tượng! Chúng ta có thể tạo nhiều đối tượng từ một lớp. Mỗi đối tượng có tất cả các thuộc tính và phương thức được xác định trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau.



Phương pháp được sử dụng để thực hiện các hành động.

Trong lập trình theo định hướng đối tượng trong PHP, các phương thức là các chức năng bên trong các lớp. Tuyên bố và hành vi của họ gần như tương tự như các chức năng bình thường, ngoại trừ việc sử dụng đặc biệt của họ bên trong lớp.

Hãy nhắc nhở vai trò của một chức năng.

  • Đầu tiên, chúng tôi khai báo chức năng
  • Sau đó, chúng tôi gọi nó (tùy chọn chúng tôi có thể gửi đối số vào chức năng)
  • Một số quá trình được thực hiện bên trong chức năng
  • Sau đó, chúng tôi trả về một cái gì đó từ hàm (tùy chọn)

Làm thế nào để khai báo một phương pháp?

Hãy khai báo một phương thức bên trong một lớp có tên là lớp để lặp lại một chuỗi đơn giản mà chúng ta đưa ra.


Chúng tôi sử dụng từ khóa công khai để làm cho phương thức có sẵn bên trong và bên ngoài lớp. Bạn sẽ tìm hiểu thêm về điều này trong chương hiển thị.public keyword to make the method available inside and outside the class. You will learn more about this in the visibility chapter.

Làm thế nào để gọi một phương thức?


$example = new Example();
$example -> echo('Hello World');

Kết quả: Xin chào Thế giới Hello World

Giải thích:
  • Đầu tiên, chúng tôi tạo một đối tượng (ví dụ $) từ ví dụ lớp
  • Tiếp theo, chúng tôi gọi phương thức Echo với -> (toán tử đối tượng) và () (ngoặc đơn)
  • Dấu ngoặc đơn chứa các đối số như bình thường

Điều bạn cần hiểu là chúng tôi gọi các phương thức trên các đối tượng, không phải các lớp.

Thay đổi giá trị thuộc tính bằng các phương thức

Hãy thực hiện những điều chúng tôi đã học trong ví dụ trên cho lớp học của chúng tôi. Bây giờ chúng ta sẽ thay đổi màu sắc của ngôi nhà. Để dễ dàng, tất cả các thuộc tính được loại bỏ khỏi lớp nhà, ngoại trừ $ chính.

Theo mặc định, màu của ngôi nhà là màu đen. Chúng ta cần thay đổi nó thành một cái khác.black. We need to change it to another one.


 primaryColor = $color;
	}	
}

// creates an object from the class
$myHouse = new House();

# black (default value)
echo $myHouse -> primaryColor;

// change the color of the house
$myHouse -> changeColor('white');
	
# white
echo $myHouse -> primaryColor;

Chạy ví dụ ›

Trong ví dụ này, chúng tôi đã sử dụng $ từ khóa này. Chương tiếp theo mô tả thêm về nó.

Phương pháp trong PHP là gì?

Phương thức thực sự là một hàm được sử dụng trong bối cảnh của một lớp/đối tượng. Khi bạn tạo một hàm bên ngoài một lớp/đối tượng, bạn có thể gọi nó là một hàm nhưng khi bạn tạo một hàm bên trong một lớp, bạn có thể gọi nó là một phương thức. Vì vậy, một đối tượng có thể có các phương thức (hàm) và thuộc tính (biến).a function used in the context of a class/object. When you create a function outside of a class/object, you can call it a function but when you create a function inside a class, you can call it a method. So an object can have methods (functions) and properties (variables).

Sự khác biệt giữa lớp và phương pháp là gì?

Sự định nghĩa.Một lớp là một mẫu để tạo hoặc khởi tạo các đối tượng trong một chương trình trong khi phương thức là một hàm phơi bày hành vi của một đối tượng.Vì vậy, đây là sự khác biệt chính giữa lớp và phương pháp.A class is a template for creating or instantiating objects within a program while a method is a function that exposes the behavior of an object. Thus, this is the main difference between class and method.

Lớp học và phương pháp trong lập trình là gì?

Trong lập trình hướng đối tượng, một phương thức là một quy trình được lập trình được định nghĩa là một phần của một lớp và được bao gồm trong bất kỳ đối tượng nào của lớp đó.Một lớp (và do đó một đối tượng) có thể có nhiều hơn một phương thức.a method is a programmed procedure that is defined as part of a class and included in any object of that class. A class (and thus an object) can have more than one method.

Một lớp trong phương pháp là gì?

Phương thức lớp là một phương thức được liên kết với lớp và không phải là đối tượng của lớp.Họ có quyền truy cập vào trạng thái của lớp vì nó lấy một tham số lớp trỏ đến lớp chứ không phải thể hiện đối tượng.Nó có thể sửa đổi một trạng thái lớp sẽ áp dụng trên tất cả các trường hợp của lớp.a method which is bound to the class and not the object of the class. They have the access to the state of the class as it takes a class parameter that points to the class and not the object instance. It can modify a class state that would apply across all the instances of the class.