2021-10-22

带你看懂PHP中的class定义类与成员属性方法

在之前的文章中给大家带来了《PHP中自定义错误处理函数与错误屏蔽你会了吗?》,其中详细的给大家带来了PHP错误处理的相关知识,本篇我们一起来看一下PHP中面向对象的相关知识,希望对大家有帮助!

面向对象其实就是将需要处理的问题抽象作为一个对象,然后通过对象的属性和行为来解决对象的实际问题。那我们一起来看一看应该怎样在PHP中去定义类与对象。

class定义类

在PHP中,这个类是一个抽象的概念。我们可以理解为世界上的任何事物都有自身的属性与方法,属性指的就是一个事物的性质,例如一个篮球,它的属性指的就是它的大小、颜色、重量之类的;它的方法也就是他所具有的功能。

总而言之,类是变量(类的属性)与作用于这些变量的函数(类的方法)的集合,属性与方法是构成类的基础。

在PHP中我们可以通过class关键字加类名的方式定义一个类,它的语法格式如下:

[修饰类的关键字] class 类名{
    类的属性和方法;
}

类名的命名规则与变量名与函数名的命名规则是非常类似的,都遵循的是PHP中的自定义命名规则。

  • 类名要以字母和或者下划线开头,由字母、数字和下划线组成。

  • 当类名有多个单词构成的时候,一般情况下习惯把每个单词的首字母大写,

  • 需要注意的是,类名最好还是要有一定的意义,最好不要由随便的几个字母组成。

在上述语法格式中,里面修饰类的关键字是可以省略的,通常使用abstract和final作为关键字来修饰类。

成员属性

了解类的语法格式后,我们就应该了解到类的成员属性,什么是成员属性,我们把在类中直接声明的变量成为成员属性,也叫做成员变量。在类中能够声明多个变量,也就是在类中有多个成员属性,每个变量都储存类的不同的属性信息。它的语法格式如下:

访问权限修饰符 属性名称 = 属性值;

其中我们需要注意的是,在类中声明成员属性时,一定要在前面使用一个关键字来修饰,这个和声明变量时不一样,在类中声明变量必须要有关键字来修饰。其中一些关键字是有意义的,如果不需要有别的意义来进行修饰的话要使用“var”关键字来修饰,它是没什么特定意义的,但是一旦有别的特定意义就要用别的关键字来修饰。

接下来给大家列举一些常用的修饰关键字:

  • public:用它修饰后声明的成员属性,在类的内部、子部和外部都可以使用,不会受到限制,表示它是一个公共的。

  • protectrd:用它修饰后声明的成员属性,在类的内部和子部可以使用,但是不能再类的外部使用。

  • pirvate:用它修饰后声明的成员属性,只能够在类的内部使用,不能再类的子部和外部使用。

实例如下:

<?php
    class Family{
        var $father;
        public $mother;
        private $brother;
        protectrd $sister;
    }
?>

定义一个名为Family的类,在类中用不同的关键字修饰成员属性。

成员方法

成员方法就是在类中定义的函数 ,函数实现的是某一个独立的功能,与函数不同的是,成员方法实现的是类的一个行为,是类的一部分。在类中可以声明多个成员方法,在声明成员方法时需要注意的是,可以在function关键字的前面加上访问权限修饰符来控制访问权限。

实例如下:

<?php
    class Family{
        var $father;
        public $mother;
        private $brother;
        public static $sister;
        public function Write(){
           
        }
        protected static function Read(){
        }
        function Listen(){
           
        }
    }
?>

在PHP中,还有类型声明,

引入了类型声明,我们可以为成员方法的形参和返回值声明类型,格式如下所示:

[权限修饰符] function 方法名 (类型 参数1, 类型 参数2, ..., 类型 参数n) : 返回值类型 {
    ... ...
}

其中参数类型可以包括整型、字符串型、浮点型和布尔型,实例如下:

<?php
    class Family{
        var $father;
        public $mother;
        private $brother;
        public static $sister;
        public function Write(string $a, int $b):bool{
           
        }
        protected static function Read(string $str):int{
        }
        function Listen(int $num):bool{
        }
    }
?>

以上就是带你看懂PHP中的class定义类与成员属性方法的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:PHP 面向对象
  • https://www.php.cn/php-weizijiaocheng-483303.html

    发表回复

    Your email address will not be published. Required fields are marked *