【深入PHP 面向对象】读书笔记(一)
来源:互联网 发布:印度女人知乎 编辑:程序博客网 时间:2024/06/05 17:32
【简介】从学习的角度来说,PHP 的学习可以按下面的路线前进:PHP 基础入门(语法、常用函数和扩展等) -> 面向对象的 PHP(对象、类等) -> 网站软件架构设计(设计模式、框架等) -> 网站物理层次架构设计(分布式计算、存储、负载均衡、高可用性等)。
1. PHP:介绍
1.1 历史介绍
PHP5 发布于2004年,新特性中最重要的就是加强了对面向对象编程的支持。
PHP 最初是用于管理个人主页的宏指令集合,随着 PHP3 和 PHP4 先后出现,PHP 很快成为了大型企业级站点成功的支持力量。
1.2 PHP 与对象
1.2.1 最初:PHP/FI
PHP 起源于用 Perl 开发的两个工具(PHP Tool 和FI)。PHP 是 Personal Homepage Tool 的简介,意为「个人主页工具」。而 FI 是 Form Interpreter,意为「表单解释器」。结合这两种工具形成的宏命令可用来发生SQL语句到数据库、处理表单和流控制。
通过这两种工具用 C 语言重写后,组成了 PHP/FI2.0。
1.2.2 PHP3
PHP3 是由PHP/FI2.0完成重写的,在PHP3 的计划中,对象也并不在安排之中。在这一时期对象只是个边缘话题。
1.2.3 一场静悄悄的革命:PHP4
PHP4 中大部分核心代码都被重写了,还特别增加了对象方面的内容,并且面向对象的代码还是成为主流。
1.2.4 拥抱变化:PHP5
PHP5 明确表示支持对象和面向对象程序设计。对象已经从事后的像想法变成 PHP 语言的驱动力。PHP是一个支持面向对象开发的语言,而不是一种纯面向对象的语言。但是其所拥有的面向对象的能力已经能满足我们面向对象编程的需要了。
2. 对象基础
2.1 类和对象
2.1.1 类
1)类是用来生成对象的代码模板。
2)使用 class 关键字和一个任意的类名来声明类。类名可以是任意数字和字母的组合。
class ShopProduct { // 类体}
2.1.2 对象
1)对象是根据类中定义的模板所构造的数据。
2)使用 new 操作符实例出一个对象。
$product1 = new ShopProduct();$product2 = new ShopProduct();
获得到的两个对象通过 var_dump 输出,得到一个包含对象 ID 的字符串(#号后面的数字为每个对象的内部标志符)。
var_dump($product1);var_dump($product2);object(ShopProduct)#1 (0) { } object(ShopProduct)#2 (0) { }
2.2 成员属性
1)用于存放对象之间互不相同的数据。
2)成员属性也称成员变量,和标准的变量很相似,不过必须在声明时加一个可见性的关键字(public,protected,private),它决定了成员属性的作用域。
class ShopProduct { public $name; public $price;}
3)使用 -> 字符连接对象变量和属性名来访问成员属性。
$product1->name = "milk";$product1->price = 12;
2.3 成员方法
成员属性用于存储对象数据,成员方法可以让对象执行任务。
方法是类中声明的特殊函数。
方法声明类似于函数声明。
public funciton getProductInfo() { return $this->name." : ".$this->price;}
使用 -> 连接对象变量和方法名来调用方法。
$product1->getProductInfo();
2.4 构造方法
创建对象时,构造方法(constructor method,也称为构造器constructor)会被自动调用。
构造方法有固定的命名__construct。
function __construct($name,$price){ $this->name = $name; $this->price = $price;}
2.5 继承
继承是一个父类得到一个或多个子类的机制。
子类将继承父类的属性和方法。
子类可以增加父类之外的新功能。
创建子类时需要使用 extends 关键字。
class BookProduct extends ShopProduct {}class CDProduct extends ShopProduct {}
子类若没有定义构造方法,在实例化时会自动调用父类的构造方法。
子类默认继承了父类所有的 public 和 protected 方法(但是不继承private方法或属性)。
2.6 public、private、protected:管理类的访问
public:任何地方都可以访问;
protected:仅在当前类或者子类中可以访问,外部无权访问;
private:仅在当前类中可以访问,子类和外部均无权访问。
- 【深入PHP 面向对象】读书笔记(一)
- 【深入PHP 面向对象】读书笔记(二)
- 【深入PHP 面向对象】读书笔记(三)
- 【深入PHP 面向对象】读书笔记(四)
- 【深入PHP 面向对象】读书笔记(五)
- 【深入PHP 面向对象】读书笔记(六)
- 【深入PHP 面向对象】读书笔记(七)
- 【深入PHP 面向对象】读书笔记(八)
- 【深入PHP 面向对象】读书笔记(九)
- 【深入PHP 面向对象】读书笔记(十)
- 【深入PHP 面向对象】读书笔记(十一)
- 【深入PHP 面向对象】读书笔记(十二)
- 【深入PHP 面向对象】读书笔记(十三)
- 【深入PHP 面向对象】读书笔记(十四)
- 【深入PHP 面向对象】读书笔记(十五)
- 【深入PHP 面向对象】读书笔记(十六)
- 【深入PHP 面向对象】读书笔记(十七)
- 【深入PHP 面向对象】读书笔记(十八)
- (hdu2084)数塔(DP)
- git的一个分支在本地修改了很多,怎么能直接将本地的直接push到git的另外一个分支呢
- 插入排序
- 求阶乘
- Salty Fish FZU
- 【深入PHP 面向对象】读书笔记(一)
- 【Java并发编程】Lock锁对象
- 多态
- 基于java jdk的Groovy环境配置及基础入门
- Java基本数据类型及其取值范围
- python之HTTPServer学习
- 最大m字段和
- 吃糖果
- Python学习第二天感悟--搭建环境