PHP面向对象基本介绍(一)

本文介绍了面向对象编程的基本概念,对比了面向过程与面向对象的区别,详细讲解了类和对象的定义与使用,以及PHP中面向对象的重要特性如封装、继承、多态等,并探讨了魔术方法的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、面向过程和面向对象

   首先在面对面向对象时,我们可以先回顾一下

    面向过程的特点:

        效率高
        非常麻烦

        简单


    面向对象的特点:

        1、执行效率比较低,相对于面向过程来说
        2、更好的组织或者管理我们的代码,具有良好的可读性。
        3、代码可以更好的复用
        4、使用起来比较简单,但是封装比较痛苦
        5、可以让你提高自己逼格,
        6、可以让你赚更多的钱,大笑

1、探讨一下为什么学习面向对象
    生活的角度:
        人类:抽象的概念     对象:每个具体的人:例如:黄晓明,刘亦菲等
        类是抽象的概念     对象才是具体的事物

    编码的角度:
        类:是一种类型,不占用内存空间       对象才占用内存空间


2、类和对象
   官方概念:类是对象的抽象,     对象是类的具象。
    面向对象的三大特性:封装、继承、多态。(重点)


3、类的简单使用
如何通过代码来定义一个类:
         类名命名规范
1、通过class关键词声明一个类,class后面就是类名
                2、类名采用大驼峰的命名法则
                3、类名要有意义
                4、一个类有成员属性和成员方法组成
                5、大括号要另起一行
                成员属性和成员方法
        成员属性就是变量,在类里面叫做成员属性,成员属性的前面必须加上访问修饰限制符
        函数就是我们的成员方法,在外面怎么定义函数,在里面就怎么定义成员方法,若成员方法的访问修饰限制符是public,可以省略。

                创建对象的方法:
                        得到对象的第一种方法    通过new关键词得到对象,类名后面的小括号可以加,也可以不加,推荐大家加上。
                        得到对象的第二种方法    通过一个对象来创建另外一个对象(了解)
                        得到对象的第三种方法,通过实例化一个类名字符串得到
       对象访问属性和方法
   //通过对象如何去访问成员属性,若通过对象访问成员属性,成员属性前面的$符号必须去掉。
                          $a->name = '黄晓明';
            //通过对象访问成员方法
                          $a->eat();
4、魔术方法和this关键字
        魔术方法:就是在特定的时机,自动触发的方法,不需要手动调用。
        $this表示的是当前对象
不传递参数构造方法

传递参数构造方法


__construct():构造方法
   触发时机:当你实例化一个对象的时候,自动触发。
__destruct():析构方法
   触发时机:当对象被销毁或者脚本执行完毕的时候,会触发。



5、访问修饰限制符
    public:公共的,用public修饰的成员属性或者成员方法,在类的内部和外部可以直接使用。
    pravite:私有的,在类的外部不能直接使用。可以通过在类的内部定义一些对外开放的接口,来访问成员属性和成员方法。
    protected:受保护的;

6、几个常见的魔术方法
__construct:

    触发时机是:当实例化对象的时候,自动触发。


__destruct
    触发时机是:当对象被销毁或者脚本结束的时候的,自动触发。


__get

    触发时机是:当访问私有的成员属性的时候,会自动触发。参数是要访问的私有的成员属性


__set

    触发时机是:当设置私有的成员属性的时候,会自动触发,参数是要设置的成员属性的名字,要设置的值。


__isset

   触发时机:当对私有的成员属性使用isset()或者empty()函数的时候,会自动触发,参数是私有的成员属性。


__unset

    触发时机是:当通过unset()函数,销毁私有的成员属性的时候,会自动触发,参数是要销毁的私有的成员属性。


__invoke

    触发时机是:当把一个对象当做函数来调用的时候,会自动触发。


__debuginfo

    触发时机是:当var_dump一个对象的时候会触发,当不想让别人看到这个对象的真实的信息的时候,可以定义这个魔术方法


__call
    触发时机是:当调用一个根本不存在的成员方法的时候,会自动触发,参数:第一个是方法的名字,第二个参数是:这个方法所需要用到的参数。


7、继承:
    认识继承:
        生活上:继承自上一辈的财产
        代码上:也可以实现继承。

    php中的继承是单继承,一个子类只能有一个父类。

。。。。。。。。。。。。。。。。。更新中



    实现继承需要用到的关键词是extends。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值