《深入PHP面向对象、模式与实践》学习笔记(一)

原创 2013年12月01日 21:55:03

  • 1、类
  • 将具有相同属性和相同操作方法的对象抽象,用class关键字冠以名字,则形成了类.
  • 例如:
  • class ShopProduct{
  •         public $name;
  •         public $price;
  •         public $count;

  •   public function __construct($name,$price,$count){
  •       $this->name = $name;
  •       $this->price = $price;
  •       $this->count = $count;
  •      }

  •      public function GetName(){
  •          return $this->name;
  •       }
  •     
  • public function GetPrice(){
  •          return $this->price;
  •      }
  •     
  • public function GetCount(){
  •           return $this->count;
  •      }
  • }

  • 2、对象
  • 类的实例
  • 例如:
  • $product = new ShopProduct('Book','23.50',100);
  • 3、类的属性和方法
  • 4、数据类型
  • 基本数据类型:bool 、int 、double、string 
  • 特殊数据类型:array、function、object、NULL
  • 5、类型处理:类的类型提示
  • 强制指定类的属性参数必须为指定的类型
  • 例如:
  • public write(ShopProduct $product){
  • //code ...
  • }
  • public GetArray(array $productArr){
  • //参数$productArr 必须为数组类型
  • }
  • 类型检查:
  • is_bool($boolVar);
  • is_integer();
  • is_double();
  • is_string();
  • is_array();
  • is_object();
  • is_null();
  • is_resource();
  • 6、管理类的访问:public、private、pretected
  • public:公共的,任何地方都可访问,没用指明属性或者方法的访问属性或者用var关键字的都会默认设置或转换为public
  • private:私有的,只有在本类中才能够访问,子类和类外都不能访问
  • protected:受保护的,只能在本类和子类中被访问

  • 7、覆写
  • 子类重新实现父类的方法或功能
  • 要想调用被覆写的方法:parent::方法名();
  • 8、继承
  • 关键字:extends
  • 例如:class ShopProduct{}
  • class BookProduct extends ShopProduct{}
  • 从父类继承而来的有public和private 的属性和方法
  •     public write_book(){
  • $base="";
  • $base=ShopProduct::write();
  • $base.=$this->pagenums;
  • return true;
  • }
  • 9、子类中的构造函数定义
  • public __construct($name,$price,$count,$pageNums){
  • parent::__construct($name,price,$count);
  • $this->pageNums = $pageNums;
  • }

  • 10、子类的对象访问属性和方法机制
  • 在子类的对象访问或者调用方法时,首先会现在子类中去寻找指定的属性或者方法。如果子类中没有找到指定的属性或者方法,则会去该子类的父类中寻找。如果还是没有,则会继续去该父类的父类寻找,直到找到指定的属性或者方法或者到原始父类还没找到为止。





【学习笔记】《深入PHP - 面向对象、模式与实践》(第3版)——第4章 高级特性

第4章 高级特性 4.1 静态方法和属性 面向对象编程中的实际操作都是通过类的实例(而不是类本身)完成的。毕竟,类仅仅是对象的模板。 然而,我们不仅可以通过对象访问方法和属性,还可以通过类来访问...
  • qq157962718
  • qq157962718
  • 2017年01月13日 12:26
  • 296

读《深入php面向对象、模式与实践》有感(一)

什么样的代码需要改进?书中给出了四个标准(我个人比较认可这四个标准,实际开发中也的确时常遇到): 一、代码重复 用书中的原话讲:“如果你在写代码的时候,总是感觉似曾相识,很可能你的代码已经...
  • RedCode_
  • RedCode_
  • 2016年02月28日 14:55
  • 1103

《深入实践C++模板编程》笔记

2014-07-31 《深入实践C++模板编程》 @ALL 作者: Claude Mar 24 像这样的书, 估计也只需要这一个笔记就可以了。 太坑爹了, 根本没有深入好不好。  但是, 从另外一...
  • cloudqiu
  • cloudqiu
  • 2017年02月10日 11:58
  • 715

《深入分布式缓存:从原理到实践》

当技术成为一种情怀,就一起来把情怀变成铅字吧,就像序言中写到的,为了初心的纪念。...
  • wireless_com
  • wireless_com
  • 2017年12月05日 08:48
  • 2185

《深入理解Java虚拟机:JVM高级特性与最佳实践》笔记

一.Java内存区域与内存溢出 1.程序计数器是一块较小的内存空间,它可看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。各...
  • csflying
  • csflying
  • 2016年09月07日 10:28
  • 596

深入理解JAVA7核心技术与最佳实践

一语法: 1.switch支持字符串
  • huanghuayn
  • huanghuayn
  • 2014年07月14日 19:53
  • 828

Java 开发者得力助手,深入实践 Spring Boot

简单易用的 Spring Boot,无疑是 Java 开发初学者的指路明灯,更是资深 Java 开发者的得力助手。快速开发是研发 Spring Boot 的初衷,这不但是一个开发团队的终生追求,也是一...
  • zy_281870667
  • zy_281870667
  • 2016年12月08日 16:49
  • 2127

《重新深入学习PHP教程》(1)(2015-09-05)

接触PHP前前后后、断断续续也有5、6年了,期间也做过一些中小项目,原以为PHP这种技术早晚会死,没想到现在随着微信的火爆以及移动互联网的火爆它并没有被淘汰,PHP7听说也已经出来了。本人当时开始学习...
  • tongtong515
  • tongtong515
  • 2015年09月05日 16:11
  • 573

深入理解Java虚拟机:JVM高级特性与最佳实践

目 录 [ - ] 《深入理解Java虚拟机:JVM高级特性与最佳实践》前言《深入理解Java虚拟机:JVM高级特性与最佳实践》内容特色《深入理解Java虚拟机:JVM高级特性与最佳实践》目录第...
  • ityouknow
  • ityouknow
  • 2016年06月24日 10:18
  • 2886

《深入理解Java虚拟机——JVM高级特性与最佳实践(第2版)》pdf

下载地址:网盘下载 内容简介 编辑 《深入理解Java虚拟机:JVM高级特性与最佳实践》内容简介:作为一位Java程序员,你是否也曾经想深入理解Java虚拟机,但是却被它的复杂和...
  • cf406061841
  • cf406061841
  • 2017年05月14日 00:06
  • 6250
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《深入PHP面向对象、模式与实践》学习笔记(一)
举报原因:
原因补充:

(最多只允许输入30个字)