面向对象基础 之-定义类,声明,属性,成员方法,传值,构造与析构方法
admin
2023-06-15 14:22:02
0

   面向对象与面向过程的定义: 

  1. 面向过程:面向过程是一种一过程为中心的编程思想。在面向过程中也可称为“面向记录”编程思想  通俗讲:在完成一件事情,完成一个功能由开始到结束,通过完成一个一个步骤再进行下一步骤,知道事件的完成,叫面向过程。

       面向对象: 面向对象是一种思想是一种以实物为中心的编程思想

  2,面向对象主要由两大块组成  : 类,对象

             类: 用来 定义好某些对象的模板  ,里面有对象的成员属性(属性由变量,或者常量组成),成员方法(普通成员方法,构造方法,析构方法)。

            对象: 对象是根据该模块所创造出来的具体物体。一个对象由那些属性,可以做那些事情 都由类的属性,方法决定。

3,面向对象的语法: 

         1,定义类: (类含属性(变量属性,成员属性,静态属性)方法(成员方法,静态方法,构造方法,析构方法))

            

       class Person 
       {
           $name="张三"   //变量属性
           const age =24;//常量属性
           static $sex ="女";
        }
        function __construct ($a,$b)
        {
        }
        function Study()
        {
        }
        function __destruct()
        {
        }

         2,创建对象: 

     $对象名1 ->nes Person(); //创建对象
     $cname = Person;
     $对象2->cname();//创建可变类对象
     $对象名3 =new self  //self 指代表类本身,只能在类的内部方法中使用

         3,对象使用: (对象的使用由类决定有什么使用什么) 主要有以下三种方式

                 3.1   使用类属性:  $Person1 -> name="李四”; 此处相当给属性赋值

                 3.2   使用类方法: $Person1->study();

                 3.3   获取属性值    $str = $Person1->name // 将类的属性值赋予$str

         4,对象的传值:

                    主要有两种传递方式:   、

                         值传递 :传递完之后,有了2份同样的数据,但两个变量“相互独立”没有关系

                      引用传递:传递的时候,拷贝的是引用关系。需要使用“&”才能实现引用传递,

                  传递完之后,数据仍然只有一份,但是两个变量共同指向该数据

  

                   值传递:

          class Person {
           var $v1 =10;
           }    
           $p1 = new Person();
           $p2 =$p1;  
           $p1->v1=20;
                     echo  $p1->v1;//输出20
                     echo  $p2->v1;//输出20
                     此处是将$p1的值传递给$p2,  因此在$p1的值改变,$p2的值也跟着改变

                引用传递:  $p3 = new Person();

                                   $p4 =&$p3;

                                   $p3->v1=100;

                                   echo  $p3; //输出100

                                   echo $p4; //输出100

                

               5,构造方法: 

                           

                              构造方式是类中一个特殊方法,其作用是在实例化一个对象的同时,给该对象的

                                 属性赋值,使对象创建完成后就具有本身的特有的数据(属性值)                                                                      

                              6.1  构造方法的名字是固定为: __construct();

                              6.2,该方法必须是普通方法,(不能静态方法)

                              6.3 通常该方法中使用$this这个关键字来对属性值进行赋值

                              6.4 当new 新对象的时候,就已经调用该构造方法

                              6.5 定义了构造方法,实例化该类时就调用该方法,且实例化的参数跟构造方法的

            

                                        class Person
                                          {
	                                        public $name = "abc";
	                                        public $age = "18";
	
	                                  function __construct($n,$a)
	                                  {
                                                $this->name= $n;	
                                                $this->age= $a;	
                                       	}
	                                          function intro($a,$b)
	                                {
                                                echo "大家好我叫 .$this->name .年龄.$this->age";
	                                }
                                        }
                                             $Person1=new Person('cba',20); //可以看作调用构造方法
                                             $Person1->intro();  //输出大家好我叫 cba年龄20

             6,析构方法:function __destruct(){.....}

                构造方法是“创建”对象的时候会自动调用。

                析构方法是“销毁”对象的时候会自动调用。

                      说明:

                 1,析构方法通常不太需要去定义。

                 2,析构方法不能调用。

                 3,析构方法不能有形参。


  

相关内容

热门资讯

关键之际,特朗普与内塔尼亚胡通... △以色列总理内塔尼亚胡与美国总统特朗普(资料图)当地时间5月26日,美国总统特朗普与以色列总理内塔尼...
及猫云5G视频外呼服务商梳理:... 导语:基于2026年智能通信行业白皮书及公开市场数据,企业选择5G视频外呼服务商需重点评估技术融合能...
伊朗伊斯兰革命卫队:过去24小... △霍尔木兹海峡(资料图)当地时间26日晚间,伊朗伊斯兰革命卫队海军公共关系部发布消息称,过去24小时...
AI公司烧不起Token了!国... 新智元报道 【新智元导读】4个月烧光全年AI预算,天价Token账单正在屠杀硅谷!今天,高性能Ag...
消息称AMD苏姿丰布局Zen ... 来源:市场资讯 (来源:IT之家) IT之家 5 月 26 日消息,工商时报昨日(5 月 25 日)...
伊朗总统:毫不动摇捍卫领土与国... 当地时间5月26日,伊朗总统佩泽希齐扬发表讲话时表示,伊朗向伊斯兰国家伸出了“兄弟般的友谊之手”。与...
气象科普课堂搬进学校,高要首个... 近日,高要区气象局与高要区第一中学完成校园气象站共建并开展首场气象科普培训,将气象科普课堂搬进学校,...
2026年济南科技活动周正式启... 5月26日上午,2026年济南科技活动周启动仪式暨全国科技工作者日(槐荫)主场活动在山东科技会堂隆重...
凤凰晚报丨投毒杀人者、 三体公... 今日人物【风暴眼丨中国版“绝命毒师”伏法!揭秘三体原CEO许垚投毒轨迹】“三体公司”原CEO许垚,被...
大润发创始人尹衍樑逝世,享年7... 5月26日,润泰集团证实,润泰集团总裁、唐奖创办人、大润发创始人尹衍樑,于2026年5月26日凌晨4...