1. <?php
  2.  
  3. //继承;子类可以继承父类的一切
  4. //特点:单继承
  5.  
  6. //父类
  7. class Ren
  8. {
  9. public $name;
  10. public $sex;
  11. public $yuyan;
  12.  
  13. function Say()
  14. {
  15. echo $this->name."正在讲话!";
  16. }
  17. }
  18.  
  19. //美国人的子类
  20. class America extends Ren
  21. {
  22. public $ziben;
  23.  
  24. //子类对父类的方法重写
  25. function Say()
  26. {
  27. parent::Say(); //调用父类的Say()方法
  28. echo "hello !";
  29. }
  30. }
  31. //中国人的子类
  32. class China extends Ren
  33. {
  34. public $shehui;
  35. public $wumai;
  36.  
  37. //对父类方法重写
  38. function Say()
  39. {
  40. echo "你好!";
  41. }
  42. }
  43.  
  44. /*$c = new China();
  45. $c->Say();*/
  46.  
  47. //var_dump($a);
  48.  
  49. //多态
  50. //条件:1.必须要继承。2.子类要对父类的方法进行重写。3.父类引用指向子类实例
  51. //概念:当父类的引用指向子类实例的时候,由于子类对父类的方法进行了重写,父类引用在调用相应的方法的时候表现出来的不同。
  52. /*
  53. Ren r = new China();
  54. r->Say();
  55.  
  56. r = new Amreica();
  57. r->Say();*/
  58.  
  59. $r = new America();
  60. $r->Say();
  61.  
  62. $r = new China();
  63. $r->Say();
  64.  
  65. ?>

继承和多态

  1. <?php
  2.  
  3. /*class FenBi
  4. {
  5. public $length; //属于对象的
  6. public static $color='red'; //属于类的,静态
  7.  
  8. //返回数据库的连接对象
  9. public static function LianJie()
  10. {
  11. FenBi::$color;
  12. return "连接对象";
  13. }
  14. public function Test()
  15. {
  16. echo FenBi::$color;
  17. }
  18. }*/
  19.  
  20. /*FenBi::$color;
  21. FenBi::LianJie();*/
  22. /*
  23. $r = new FenBi();
  24. $r->Test();*/
  25.  
  26. //普通成员是属于对象的
  27. //静态成员是属于类的
  28.  
  29. //普通成员方法里面可以调用静态成员
  30. //静态方法里面不能调用普通成员
  31.  
  32. class Form
  33. {
  34. public static $bs=0;
  35.  
  36. public function show()
  37. {
  38. echo "显示窗体";
  39. }
  40.  
  41. public function Close()
  42. {
  43. Form::$bs=1;
  44. echo "窗体关闭";
  45. }
  46.  
  47. public function shownext()
  48. {
  49. $f2 = new Form();
  50. return $f2;
  51. }
  52.  
  53. public function JianCe()
  54. {
  55. if(Form::$bs==0)
  56. {
  57. echo "F2没有关闭";
  58. }
  59. else
  60. {
  61. echo "F2已经关闭";
  62. }
  63. }
  64. }
  65.  
  66. $f1 = new Form();
  67. $f1->show();
  68.  
  69. echo Form::$bs;
  70.  
  71. $f2 = $f1->shownext();
  72. $f2->show();
  73. $f2->Close();
  74.  
  75. echo Form::$bs;
  76.  
  77. $f1->JianCe();
  78.  
  79. ?>

静态方法

php 面向对象之继承、多态和静态方法的更多相关文章

  1. php面向对象 封装继承多态 接口、重载、抽象类、最终类总结

    1.面向对象 封装继承多态  接口.重载.抽象类.最终类 面向对象 封装继承多态  首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1.什么是类? 具有相同属性(特征)和方法(行为)的一 ...

  2. python面向对象(封装,继承,多态)

    python面向对象(封装,继承,多态) 学习完本篇,你将会深入掌握 如何封装一个优雅的借口 python是如何实现继承 python的多态 封装 含义: 1.把对象的属性和方法结合成一个独立的单位, ...

  3. Java基础——面向对象(封装——继承——多态 )

    对象 对象: 是类的实例(实现世界中 真 实存在的一切事物 可以称为对象) 类: 类是对象的抽象描述 步骤: 1.定义一个类 (用于 描述人:) ( * 人:有特征和行为) 2.根据类 创建对象 -- ...

  4. python面向对象之继承/多态/封装

    老师说,按继承/多态/封装这个顺序来讲. 子类使用父类的方法: #!/usr/bin/env python # coding:utf-8 class Vehicle: def __init__(sel ...

  5. python基础语法15 面向对象2 继承,多态,继承json模块中JSONEncoder,并派生出新的功能

    继承 1.什么是继承? 继承是一种新建类的方式,新建的类称之为子类或派生类,继承的父类称之为基类或超类. - 在Python中,一个子类可以继承多个父类.(面试可能会问) - 在其它语言中,一个子类只 ...

  6. java面向对象(封装-继承-多态)

    框架图 理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程强调的是功能行为 面向对象将功能封装进对象,强调具备了功能的对象. 面向对象是基于面向过程的. 面向对象的特点 ...

  7. -1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口 区别 多态 包 访问权限 内部类 匿名内部类 == 与 equal

    java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型  也就是 ...

  8. day25 面向对象继承,多态,

    这两天所学的都是面向对象,后面还有几天也是它,面向对象主要有三个大的模块,封装,继承,多态,(组合),昨天主要讲了面向对象的命名空间,还有组合的用法,今天是讲的继承还有继承里面所包括的钻石继承,以及多 ...

  9. Python 面向对象编程 继承 和多态

    Python 面向对象编程 继承 和多态 一:多继承性 对于java我们熟悉的是一个类只能继承一个父类:但是对于C++ 一个子类可以有多个父亲,同样对于 Python一个类也可以有多个父亲 格式: c ...

  10. Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理)

    Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理) 一丶封装 , 多态 封装:            将一些东西封装到一个地方,你还可以取出来( ...

随机推荐

  1. eclipse中python文本字体大小设置

    eclipse中python脚本用默认的字体和大小,注释是中文的也看不清楚,改一下字体吧 windows-preferences-python-editor-colors and fonts 其实上一 ...

  2. CSS3系列二(媒体支持、文字与字体相关样式、盒相关样式)

    CSS3媒体支持 在css3中允许我们在不改变内容的情况下,在样式中选择一种页面的布局以精确的适应不同的设备,从而改善用户体验 可以利用meta标签在页面中指定浏览器在处理本页面时按照多少像素的窗口宽 ...

  3. ActivityInfo taskAffinity

    通常在Manifest里面使用 <application android:icon="@drawable/icon" android:label="@string/ ...

  4. 软件开发过程中的审查 (Review)

    http://blog.csdn.net/horkychen/article/details/5035769 软件开发过程中的审查 (Review)   希望别人做些什么->定义出流程 希望别人 ...

  5. jquery------添加jQuery对象方法

    my.js $(document).ready(function(){ (function($){ $.fn.swapClass=function(class1,class2){ if(this.ha ...

  6. tmux 快捷键

    ctrl+b , 修改窗口名称 ctrl+b ' 快速按名字切换窗口 ctrl+b w 列出窗口列表 Ctrl+b 激活控制台:此时以下按键生效 系统操作 ? 列出所有快捷键:按q返回 d 脱离当前会 ...

  7. spark中操作hdfs

    1 获取路径 val output = new Path("hdfs://master:9000/output/"); val hdfs = org.apache.hadoop.f ...

  8. ci中如何私有化方法

    私有方法 在某些情况下,你可能想要隐藏一些方法使之无法对外查阅.将方法私有化很简单,只要在方法名字前面加一个下划线("_")做前缀就无法通过 URL 访问到了.例如,如果你有一个像 ...

  9. tomcat管理页面用户角色、用户名、用户密码的配置

    参考资料:http://www.365mini.com/page/tomcat-manager-user-configuration.htm 编辑tomcat/conf/tomcat-users.xm ...

  10. sql 语句:给 text 数据类型排序

    sql 语句: select * from 表 order by cast(字段 as varchar)