笔记(PHP面向对象).pdf

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
笔记(PHP面向对象)

面向对象 1)类简单介绍 ①类包括:属性与方法 ②操作:实例化访问方法、访问属性 ③访问类型:类外访问、类内访问 所有语言的类都离不开以上三点,只不过是不同语言其表达形式不同而已 按照某个方法,能制造出一个衣柜 类相当于一个方法,按照这个方法就可以制造出一个对象了 如何用类来产生对象? New 类名 () -- 返回的是对象Object,而对象里全是属性及属性值(没有方法) 2)属性值定义问题 不能是:表达式1+2 的值 不能是:函数返回值如time () 3)类中的函数名的命名问题 另外:类内的函数名与类外的函数名相同也是没问题的 4)构造函数:__construct() 在类实例化时,即new 一个对象时,自动调用构造函数 构造函数传参,并影响对象 5)析构函数 只要调用了对象,那么在对象销毁时,便自动执行 对象默认是引用传值的 (重要) 6)对象销毁机制 7)对象作为参数 问题来了? 类的一个权限控制bug: 所有对象 以类为单位 ( 多对 1) 把一个对象作为另一个对象的参数传进类里使用了,造成了混淆,也不符合逻辑; 对象通常是调用其方法,而不应该作为参数,而且每一个对象对应一个类内容,而不应该能 修改另外一个对象的内容,每个对象只能是修改自己的; 下面例子就是a对象作为b 对象的参数了,通过b 修改了a 的内容 面向对象三大特性:封装、继承、多态 ①权限修饰符 作用:用来说明 属性/方法的权限特点,写在 属性/方法前面 ②三种类型 private私有的:只能在类内调用 protected保护的:可在类内和子类中调用 public 公共的:在任何地方都可以 8)特征之一:封装性 属性封装性总结: 方法封装性总结: 9)用类连接数据库 10)类内定义属性与访问的位置问题 ①属性只能在类内函数外定义;函数外也不能echo输出任何内容 ②访问属性/方法只能在类内函数内访问 11)特征之二:继承 - 子类 父类的protected/public 的属性与方法都继承过来,并可以访问 父类的private 的属性与方法也继承过来,但不可访问,无权调用 父类有的,都继承过来,并且可以修改 (即新的内容覆盖全部掉旧的内容) 父类没的,子类里可以添加 子类继承时,属性与方法的权限继承变化问题: 继承时,权限只能越来越宽松或不变,而不能越来越严格 构造方法也是可以继承的 也可以修改 (重要)问题来了?我只不过是想在子类对构造函数添加一些自己要用的数据而已 这又认证了:子类与父类中的函数名相同时,相当于函数的重写,意思是对父类中的函数内 容全部删除掉后,在子类函数里重新写入新的内容,所以原先父类中内容就没了 解决:在子类的构造函数中,再访问一下父类的构造函数:parent::__construct() 注意:构造函数名与类名相同这是PHP4 时代的残留,不建议这样写 12)特征之三:多态 例子: 材料 1:一个手电筒、3 张不同颜色的玻璃 做法1:一个手电筒都能装上这3 张玻璃,换不同颜色的玻璃就射出不同颜色的光,这里只 用了一个手电筒 材料2:三个手电筒、3 张不同颜色的玻璃 做法2:三个手电筒都只能装上各自规定的颜色玻璃,如红光手电筒就只能装上红色的玻璃, 这里却用了三个手电筒 上面2 个例子中,第 1个便是 多态 下面实例,是从PHP 的多态转换成java 形式的多态: Php 多态:手电筒类,红、蓝、绿玻璃 实现:颜色玻璃作为实参,传进手电筒类里的函数里,打开手电筒,照射出不同颜色的光 发现:这时函数形参并没有声明类型,因为PHP 本身就是多态 php 与java 实现多态,进行对比后,再提出问 题:传参时声明类型的问题? 继续操作:声明函数参数的类型,限制PHP 传参的灵活性 问题:这时只可传RedGlass对象类型,其它对象的就不可以了? 解决: 定义一个父类为Glass(玻璃),各种颜色的玻璃为子类并继承父类 函数参数类型改成父类Glass,传进来的实参是子类 13)静态属性、静态方法 在属性和方法前加static 修饰,就变成了静态属性 / 静态方法 特点: A、静态属性存放在类的空间中,只要类声明完毕,该属性就存在类中了,所以直接可以用

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档