您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 布尔教育PHP大狮班-面向对象.pdf
  所属分类: PHP
  开发工具:
  文件大小: 1mb
  下载次数: 0
  上传时间: 2019-08-24
  提 供 者: qq_42******
 详细说明:布尔教育PHP ,布尔教育PHP大狮班-面向对象.pdfclassStul i stu:类名称 public Ssn =0001 ssn:属性名 public Sname =lisi; ks0:方法 public function ks0 echo我叫is我来考试; 类名不区分大小写, Sstu new StuO echo$stu->sn;//调用属性 但书写和调用时依然 stu->ks(0;/调用方法 要大小写规范 5、属性不能是表达式? PHP5.6之前类属性只能是直接值或常量,而不能是表达式的结果 函数调用,运算 PHP5.6开始允许使用包含数字、字符串字面值和常量的标量表达式(如数学运算,比较 运算等) 高中数学知识:标量和矢量…… class MysQL t //就是想赋给属性随机值怎么办? // public$rand=rand(10,100);//函数调用一报错 public srand=1+2;//数学运算,5.6以后,支持 //初始化效果,可以在构造函数中完成(后面讲到,先跳过) public function constructo)t sthis->rand=mt rand( 6、类与对象的关系 类是"大量的,同类事物共同特点的抽象描述 而对象,是以类做模板形成的一个具体实例 class Af public name =lisi public function fei()t echo qi //new个对象时,内存中会开辟一块空间,存放属性; sren1= new A() sshou2 new A(): /给ren1中的属性重新复制,类中的属性值不变,改变的是新开辟空间的属性 srenl->name =wang '; echo sren1->name: //方法调用,执行的是类中的方法,但是,PHP内部会记录是哪个对象在调用方法 echo sshou2->fei()i class Human t public Gender =male; public height 30, 内存中有1”个 Human即使没有实 public function borno i gender: male echo'wawa’; 例化也存在 height: 30 多san= new Human() sisi new Humano) Ssan->height =3: echo Ssan->height ,'
>slisi-height;// 35, 30 gender: male height: 30 注意:每个实例有自己的属性包在一个结构中可以粗略理 gender: male 解为数组)但是不包含方法 height: 30 在PHP中实例知道自己是哪个类实例化得来的 当调用方法时,会到自己所属的类中找相关方法并调用 7、this是谁? < php class Rent public name =lisi public function fly()t echo sthis->name. qifei: sren new Ren() sren->name =.SS i sren->fly() 谁调用就是谁 public Sname = 'i name lisi olic function sayHelloo)[ echo hello, I am, sthis->name ,'
name = wangwu slisi->sayHello(; name.wangwu Swangwu->sayHello; Sthis是一个虚拟变量专门指“当前调用的对象 请画图 8、封装mysq类 注:原生 MySQL AP自PHP55.0起已废弃,并在将来会被移除。此处选用 mysqli ?php class MySQL t public slink= null public function conn()t scfg array host =>' loca lhost user=> root passwor db test charset=> utf8 sthis->link= mysqli_connect(scfg[ host scfg['user '], $cfg I' password',$['db'1); public function query(ssql)i return mysqli query(sthis->link, Ssql): public function getAll(Ssql)t srs= sthis-query ($sql)i sdata array(): while(row= mysqli fetch assoc(srs))t Sdata[ snow? return sdata sdb new MySQL(): Sdb->conn() Suser $db->getAll('select *k from user )i var dump(suser) 每次用都要实例化去调用,很烦人,我想,一旦实例化就会自动连接数据库,怎么 办? 9、构造方法与析构方法 构造方法: construct0 是指在new对象时,自动触发的方法 就像一个婴儿刚出生就会哭一样 class Human t public_construct()t echo"呱呱坠地'; baby= new Human();//呱呱坠地 利用比方法可以完成一些初始化工作 比如mysq类中自动连接与选库 构造方法传参 在创建实例时,可以传递参数如: class stu i public Sname: public sage: public function construct(sname, Sage)t sthis->name Sname sthis->age sage: } slily new Stu('lily' 12); lucy new Stu('lucy, 14) poly new Stu( ' poly', 15); 析构方法: destruct0 在对象销毁时,自动触发 //接上面的Stu类,新增 destruct()方法 function destructor echo sthis->name bye
i 对象什么时间被“销毁"? slily =3: unset(lucy) echo ----
i 存储对象的变量被赋值为其他值, 或变量被 unset, 或页面结束时,都会被销毁 构造方法的旧式声明 一个和类名同名的方法,被理解为构造方法; 老旧的PHP代码中会遇到;遇到时认识即可; 10、类的封装性 封装:即禁止某些方法/属性,不充许外部调用 并开放部分方法,来间接调用 比如银行的ATM,你可以输入密码"检测"自己的密码是否正确, 但不能"查询"自己的密码.代码: class ATM i protected function getPass()t return 123456 public function checkPass( $passwd)t return $passwd sthis->getPass(): satm new ATM()i satm->checkPass( 123456) atm-> getPass();//出错: fatal error 这个例子,如果用面向过程的函数来开发,则很难对gePa5做屏蔽 11、类的继承性 http:/apidoc.sinaapp.com/class-saemysql.html 新浪SAE平台,给我们提供了 SaeMySOL类,我们可以直接使用 但我如果觉得这个类的某个方法不好,或者缺少某个方法,怎么办? 我们不能定义同名函数来覆盖,因为PHP不允许函数重名 "; public function geterror ()t return哈哈,错了 } public function getLine()t return array('a b ) } class MyMysql extends Mysql t public function geterror()t return'呵呵,错了; public function getRow()t return sthis->getline(): sa new MyMysgl( //调用子类方法,子类中的方法,通过this调用父类的方法 var_dump(sa->getRow()); //实例化的子类对象,可以直接调用父类中的方法 var dump(sa->getLine()); //子类重写父类中的方法后,实例化的对象默认调用子类重写后的方法 var dump(sa->getError()) //子类也可以直接调用父类的属性 var- dump(sa->bb) 继承的好处: 子类可以继承父类的属性及方法,并允许覆盖父类的方法或新增方法. 通过自然界的比喻就是通过进化"来获得新特性,同时不影响旧物种. 老式电话机-->手机--智能机 电话>手机->智能机 通话功能脉相传, 同时逐步增加了短信游戏等功能 然后古老的座机仍未消失 这就是继承的好处 司出 12、继承的语法 class Parclass i } class Subclass extends Parclass t } PHP是单继承的:子类只能继承一个父类 C#、C++多继承:子类可以继承自多个父类 13、fna类和fna方法 fina类不能被继承,血ina方法不能被子类重写 //此类不能被继承 final class TJ i class XTJ extends T]
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: 布尔教育php全套
 输入关键字,在本站1000多万海量源码库中尽情搜索: