- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
05类与对象全解
php PHP程序设计 05 类与对象 面向过程与面向对象的比较; 类的定义与构成; 类的实例化; 构造函数与析构函数; 类的继承。 本节提要 * 程序设计方法 * 面向过程 面向对象 包装 函数 类 构成 功能模块 属性和方法 通讯 传参数 传消息 特征 封装、继承、多态 类:创建对象前的一个模板,具有同类对象的共同特征抽象。包含属性与方法。 类的定义 * CODE ?php class Person{ public $name; private $age; public function say(){ echo Hello; } } 惯例:类名首字母大写 方法(函数) 属性(变量) 属性可赋初值,初值须为常量 属性和方法为类的成员。可加上对成员的访问控制 属性:用于保存对象的当前状态。 方法:用于描述对象的可用行为。 对象的状态改变只由自身的行为决定。 属性和方法 * public 公有: 任意位置访问。 protected 保护: 自身及子类访问。 private 私有: 只能被自身访问。 访问控制 * 可通过类创建具体的对象: 类的实例化?对象 * CODE class Person{ public $name; public function say(){ echo Hello; } } $p1=new Person(); // 实例化,$p1为创建的对象 $p1-name=Billy; // 使用-访问对象的成员 $p1-say(); // 注意:不是= 在类的方法中要访问本类的属性或其他方法,须使用$this伪变量。 $this是调用此方法的对象的引用。 $this 伪变量 * CODE class Person{ public $name; public function say(){ echo My name is .$this-name; } } $p1=new Person(); $p1-name=Billy; $p1-say(); // 调用say()时,$this代表$p1对象 $name $this-$name X X 可使用instanceof关键字判断对象是否是某个类的实例: instanceof * CODE class Person{ } $p1=new Person(); $p2=$p1; // 赋值 $p3=$p1; // 引用 var_dump($p1 instanceof Person); var_dump($p2 instanceof Person); var_dump($p3 instanceof Person); 返回对象的类名: get_class() * CODE class Person{ public $name; public function say(){ echo My name is .$this-name; } } $p1=new Person(); echo get_class($p1); // 输出:Person 具有构造函数的类,在创建对象时会调用构造函数,完成一些初始化的操作。 构造函数 * CODE class Person{ public $name, $country; public function __construct($name, $country=China){ $this-name=$name; $this-country=$country; } public function display(){ echo $this-name. in .$this-country; } } $p1=new Person(Billy); $p1-display(); 对象销毁时,执行析构函数: 析构函数 * CODE class MyClass{ public function __construct(){ echo constructingbr; } public function __destruct(){ echo destructingbr; } } $myobj=new MyClass(); 静态成员无需实例化即可访问: 静态属性和静态方法 * CODE class MyClass{ public static $prop; public static fun
文档评论(0)