php,类中函数加减

PHP 中,类是一种封装数据和相关功能的方式。类中的函数是类的一部分,它允许您定义与类相关联的功能。当您创建一个类时,您可以在其中定义许多不同的函数来执行各种不同的操作,这就是 php 类中函数加减。

PHP 中的类函数分为两类:成员函数和静态函数。成员函数是与类或类的实例相关联的函数,而静态函数则与类本身相关联。在类中,您可以通过将函数包含在类中来定义函数。通过使用关键字 public、private 或 protected 来对类的成员进行访问控制。public 表示该成员可以通过类的实例进行访问,private 表示该成员只能在类中访问,protected 表示该成员可以在类和子类中访问。

下面是一个 PHP 类的例子:

```php

class Person {

// 定义成员变量

public $name;

public $age;

// 定义成员函数

public function say_hello() {

echo "Hello, my name is $this->name and I am $this->age years old.";

}

// 定义静态函数

public static function add_numbers($num1, $num2) {

return $num1 + $num2;

}

}

// 创建类的实例并调用成员函数

$person1 = new Person();

$person1->name = "John";

$person1->age = 30;

$person1->say_hello(); // 输出:Hello, my name is John and I am 30 years old.

// 调用静态函数

echo Person::add_numbers(5, 10); // 输出:15

```

在这个例子中,我们定义了一个名为 Person 的类。该类具有两个公共成员变量 $name 和 $age,并且该类有一个名为 say_hello 的公共成员函数。我们还定义了一个名为 add_numbers 的静态函数,它接受两个参数并返回它们的总和。

要创建类的实例,请使用关键字 `new` 后跟类名。然后,您可以使用箭头运算符 `->` 访问类的公共成员变量和成员函数。使用双冒号 `::` 访问静态函数。

在 PHP 中,您可以使用 `extends` 关键字来创建一个类的子类。子类继承父类的所有公共和受保护的成员,除非它们被覆盖或隐藏。这意味着子类可以访问父类中定义的成员变量和成员函数,并且可以重载它们或添加新的成员。

下面是例子:

```php

class Employee extends Person {

// 定义新成员变量和构造函数

public $position;

public function __construct($name, $age, $position) {

$this->name = $name;

$this->age = $age;

$this->position = $position;

}

// 重载父类的成员函数

public function say_hello() {

parent::say_hello();

echo " I work as a $this->position.";

}

}

// 创建子类的实例并调用成员函数

$employee1 = new Employee("Jane", 25, "Manager");

$employee1->say_hello(); // 输出:Hello, my name is Jane and I am 25 years old. I work as a Manager.

```

在这个例子中,我们创建了一个名为 Employee 的子类,该子类扩展了 Person 类。Employee 类具有一个新的公共成员变量 $position 和一个构造函数来设置它。该类还重载了父类的 say_hello 成员函数,并添加了一条关于员工职位的信息。

在结束本篇文章之前,我想简单提一下 PHP 中的可见性原则。以上文的例子来说,public 表示该成员可以任何地方被访问,而 private 和 protected 分别表示该成员只能在类内部或类及其子类中访问。通过使用这些关键字,我们可以控制应该将哪些方法向外公开,从而有效保护类的封装性。同时,这也是面向对象编程中的一个重要原则。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(96) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部