PHP学习1

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

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 学习目录 ├─PHP视频教程 1 LAMP网站构建 │ ├─PHP教程 1.1.1 新版视频形式介绍│ ...
    曹渊说创业阅读 16,219评论 29 417
  • 一、数组 1、数组定义 数组就是一个键值对组成的语言结构,键类似于酒店的房间号,值类似于酒店房间里存储的东西。 $...
    空谷悠阅读 4,164评论 4 11
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,307评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,845评论 6 13
  • 醒来,发现北京找不到了。
    大大大美女阅读 1,046评论 0 0