PHP基础(四)--类

一、类和对象

1.类的概念

描述:使用class关键字声明

语法:class  类名{类结构}

注意:

         a.类名可以是任何非 PHP 保留字的合法标签。一个合法类名以字母或下划线开头,后面跟着若干字母,数字或下划线。

         b.一个类可以包含有属于自己的常量,变量【属性】以及函数【即方法】

例子:

<?php
     echo '<pre>';
  class Person {
     public $name='beixi';
     function showInfo(){
        echo 'my name is beixi';
     }
  }
?>

2.对象的概念

描述:通过new+类名获取,并且类必须在实例化对象之前创建

语法:  $变量=new  类名();

说明:

          a.对于创建对象的语句中,new后面的类名有没有小括号都可以

          b.对象与对象之间的传值仍然是赋值传递,只不过传递的内容是一个内存地址

<?php
  echo '<pre>';
  class Person {
     public $pname='beixi';
     function showInfo(){
        echo 'my name is beixi';
     }
  }

  $name = new Person;//创建对象
  print_r($name);
  echo '<br>';
  $name->showInfo();//调用对象里的方法
  echo '<br>';
  echo $name->pname;//调用并输出属性
  
?>

3.属性关键字

描述:用来说明类中属性能够使用的范畴。

语法:由关键字public、protected或者private开头,然后跟一个普通的变量来声明组成

            class 类名{

                   属性关键词 $变量名(属性名) = 属性值;

                   属性关键词 function 方法名 (参数1,参数2,…){  方法内容代码;  }

                }

说明:

           a.属性中的变量可以初始化,但初始化的值必须是常数。

           b.类的属性和方法如果没有写明类型关键词,则都默认是公有

            public:被定义为公有的类成员可以在任何地方被访问。

            protect:被定义为受保护的类成员则可以被其自身以及其子类和父类访问。

            private:被定义为私有的类成员则只能被其定义所在的类访问。

           c.在类的成员方法中,可以用->来访问非静态属性,其中->称为对象运算符

<php
    echo '<pre>';
  class  Peo{

   public $pname='beixi';//公有属性

   //公有方法
   function showInfo(){
    echo 'my name is beixi';
  }
  
   private  $page=18;//私有属性

   公有方法,用来调用page属性  特权函数
   public function getPage(){
      //$this为一个伪对象,表示当前正在调用这个方法的对象
      echo $this->page;
   }

   // 私有方法
   private function self(){
      echo 'hello world';
   }

   //公有方法,用来调用self()方法
   public function canusedSelf(){
      $this->self();
   }
}

$beixi=new Peo;//创建对象

print_r($beixi);
echo '<br>';

$beixi->showInfo();//调用方法
echo '<br>';

echo $beixi->pname;//调用属性
echo '<br>';

echo $beixi->getPage();//调用方法
echo '<br>';

$beixi->canusedSelf();
?>

二、类常量、静态变量、构造函数

1.类常量和静态变量

描述:php中的类常量和静态变量是存在与类结构中的两个与常见属性的两种结构

语法:类常量由关键字const声明,静态变量由static声明

        class 类名{

            const 类常量(没有$开头) = 简单值;

            static 静态变量名(有$开头) = 简单值;

        }

类常量:  const声明,   不能修改,一经声明值即固定   ::调用  调用时可不实例化对象直接通过类名调用

静态变量:  static声明  仅在类被声明时执行一次,能修改    ::调用  调用时可不实例化对象直接通过类名调用

<?php
 class  Car{
            const carType='fute';//类常量
            static $carPrice=12345;//静态变量
        }
        echo  Car::carType;
        echo '<br>';

        echo  Car::$carPrice;
        echo '<br>';

        Car::$carPrice+=1000000;
        echo Car::$carPrice;
        echo '<br>';

       $mycar = new Car;//创建对象
      echo $mycar::carType;
      echo '<br>';
      echo $mycar::$carPrice;
?>

2.构造函数

描述:构造函数是类在实例化对象时自动执行,用来帮助类去构造对象的函数;php中每一个类的内部,都拥有一个和类名完全相同的隐藏的方法,这个方法就是构造函数

语法:

        class 类名{

             function__construct(){

            //主动修改的代码

           }或

            function 类名(){

                //主动修改的代码

            }

           

        }

说明:两种写法都能够实现构造函数的主动编辑,但是需要知道系统自动提供的是第二种结构

<?php
     class Peo{
        public $peoName;
        function peo(){
            $this->peoName='默认值';
        }
    }

    $beixi = new Peo();
    echo $beixi->peoName;//调用属性
?>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白小白从不日白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值