美文网首页
PHP学习1

PHP学习1

作者: 罟宁 | 来源:发表于2016-09-16 20:21 被阅读0次

    第一章 面向对象思想的核心概念

    OOPL(Object-Oriented Programming Language)面向对象编程

    一.对象的“形”

    • 一个类的设计需要能充分展示其最重要的属性和方法,并且能与其他事物相区分
    • 类是属性和方法的集合
    1. 对象就是一堆数据
    print_r((array)$student);  
    var_dumo($student);  
    
    2. 序列化→将一个对象存储起来
    //序列化student对象并存储  
    $str = serialize($student);  
    file_put_contents('store.txt',$str);  
    //反序列化对象并显示  
    $str = file_get_contents('store.txt');  
    $student = unserialize($str);    
    
    • 序列化和反序列化均需引入类的对象的定义,否则会因找不到类定义二报错
    • 序列化储存的是对象的属性和类名(用于)
    • 类是由属性和方法组成的,而对象则是属性的集合。由同一个类生成的不同对象,拥有各自不同的属性,但同享了类的代码空间中的方法区域的代码

    二. 对象的“本”

    • 对象也是一种普通的变量,与变量不同的在于其携带了对象的属性和类的入口

    三. 对象与数组

    • 区别:对象还有指针,指向其所属的类

    四. 对象与类

    • 类=属性+操作的模板,对象则把属性具体化,然后交给类
    • 对象=属性数据,不包含方法,但内有指向父类的指针,类中有方法
    • 方法描述不同属性所导致的不同表现
    • 区分类的办法是实例化出对象进行比较

    五. 魔术方法的应用(__,有特殊作用的方法)

    • __construct()构造方法,实例化对象时运行,用于属性赋值、连接数据库等等
    • __destruct()析构方法,在对象的所有引用都被删除/对象被显式销毁 时运行
    • __set()和__get()方法(magic.php)
      重载:指一个类中可以定义参数列表不同但名字相同的多个方法
      (如:Java中允许多个构造函数,php只允许一个) 用于定义不存在的类属性
    • __call()和__callStatic()方法(simpleOrm.php)
      用于定义不存在或不可访问的类方法
      使动态创建成为可能
    • __toString()方法
      打印一个对象时触发

    相关文章

      网友评论

          本文标题:PHP学习1

          本文链接:https://www.haomeiwen.com/subject/jxeiettx.html