附 PHP基的础之面向对象编程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
附 PHP基的础之面向对象编程

类的静态成员 class Person { //下面是人的静态成员属性 public static $myCountry=中国; // var $name; //人的名子 ? //这是人的静态成员方法 public static function say() { echo 我是中国人; } }? //输出静态属性 echo Person::$myCountry;? //访问静态方法 Person::say();? //重新给静态属性赋值 Person::$myCountry=美国; echo Person::$myCountry; 类的静态成员 静态成员的访问 因为静态成员是在类第一次加载的时候就创建的,所以在类的外部不需要对象而使用类名就可以访问的到静态的成员; 静态成员被这个类的每个实例对象所共享,则使用对象不可以访问类中的静态成员 在其它的面向对象的语言中,比如Java是可以使用对象的方式访问静态成员的,即使这样,也尽量不要去使用,因为静态的成员在做项目的时候目的就是使用类名去访问。 类里面的静态方法只能访问类的静态的属性,在类里面的静态方法是不能访问类的非静态成员。 原因很简单,我们要想在本类的方法中访问本类的其它成员,我们需要使用$this这个引用,而$this这个引用指针是代表调用此方法的对象,我们说了静态的方法是不用对象调用的,而是使用类名来访问,所以根本就没有对象存在,也就没有$this这个引用了,没有了$this这个引用就不能访问类里面的非静态成员。 类的静态成员 在静态方法中访其它静态成员我们使用的是一个特殊的类”self”, self::成员的方式; 即然$this不存在,在静态方法中访其它静态成员我们使用的是一个特殊的类”self”; self和$this相似,只不过self是代表这个静态方法所在的类。所以在静态方法里,可以使用这个方法所在的类的“类名“,也可以使用“self“来访问其它静态成员,如果没有特殊情况的话,我们通常使用后者,即 self::成员属性的方式。 在非静态方法里可以访问静态成员,但是也不能使用”$this”引用也要使用类名或是”self::成员“的形式。 类的静态成员 class Person { //下面是人的静态成员属性 public static $myCountry=中国; ? //这是人的静态成员方法, 通过self访问其它静态成员 public static function say() { echo 我是.self::$myCountry.; } } //访问静态方法 Person::say(); 类的静态成员 const是在类里面定义常量的关键字 在PHP中定义常量使用的是”define()” 用”const”修饰的成员属性的访问方式和”static”修饰的成员访问的方式差不多,也是使用”类名”,在方法里面使用”self”关键字。 但是不使用”$”符号,也不能使用对象来访问 类的静态成员 class MyClass { //定义一个常量constant const constant = constant value; ? function showConstant() { echo self::constant . \n; //使用self访问,不要加”$” } } ? echo MyClass::constant . \n; //使用类名来访问,也不加”$” ? $class = new MyClass(); $class-showConstant(); //echo $class::constant; 是不允许的 抽象类及抽象方法 在OOP语言中,一个类可以有一个或多个子类,而每个类都有至少一个公有方法做为外部代码访问其的接口。而抽象方法就是为了方便继承而引入的, 先来看一下抽象类和抽象方法的定义。 什么是抽象方法? 在类里面定义的没有方法体的方法就是抽象方法 所谓的没有方法体指的是,在方法声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束。 在声明抽象方法时,前面加一个关键字“abstract”来修饰;例如: abstract function fun1(); abstract function fun2(); 不要忘记抽象方法后面还要有一个分号; 抽象类及抽象方法 什么是抽象类呢? 简单地说,含有抽象方法的类就是抽象类。 只要一个类里面有一个方法是抽象方法,那么这个类必须定义为抽象类 抽象类也要使用“abstract”关键字来修饰;

文档评论(0)

liwenhua00 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档