Chinaunix首页 | 论坛 | 博客
  • 博客访问: 240152
  • 博文数量: 108
  • 博客积分: 3045
  • 博客等级: 中校
  • 技术积分: 1162
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-19 18:26
文章分类

全部博文(108)

分类: PHP

2013-07-23 21:43:08


  1. <?php

  2. /*
  3.  * final static const
  4.  * final:只能用来定义类和方法
  5.  * 作用:使用final定义的类不能被继承
  6.  *      使用final定义的方法不能被重载
  7.  *
  8.  * static 属于类,不属于对象实例,类第一加载分配内存空间
  9.  * 静态成员使用 类名::成员 访问,不要用对象去访问。 this self
  10.  * 只被创建一次
  11.  *
  12.  *
  13.  *static 方法的调用 可用对象调用也可以用类名调用
  14.  *修饰属性,也可以修饰方法 一般用类名访问
  15.  *用static声明的方法里面不能用非静态的成员
  16.  *在static里面不能使用this.
  17.  *
  18.  *define()声明常量
  19.  *const 是一个在类里面定义成员属性为常量的关键字
  20.  *            类名::成员属性
  21.  *            只能修饰属性
  22.  *            只有在声音的时候给初始化
  23.  *            常量前面是不用加”$“
  24.  *            可用.self
  25.  *            定义时用大写
  26.  */


  27. /*final*/ class Person

  28. {
  29.     
  30.     // 成员属性

  31.     protected $name;
  32.     protected $age; // 私人有属性

  33.     protected $sex;
  34.     
  35. //     const $country="中国";

  36.     const country="中国";
  37.     // 构造方法

  38.     function __construct($name, $age, $sex)     // php5申明方法 如果两个构造方法同时存在,先找php5.

  39.     
  40.     {
  41.         $this->name = $name;
  42.         
  43.         $this->age = $age;
  44.         
  45.         $this->sex = $sex;
  46.     }
  47.     
  48.     // 成员方法

  49.     /*final*/ function say()

  50.     {
  51.         echo "我的名字是: " . $this->name . " 年龄:" . $this->age . " 性别:" . $this->sex . "
    "
    ;
  52.         echo "我所在的国家是: " .self::$country."
    "
    ;
  53.     }
  54.     

  55.     static function run()

  56.     {
  57.         
  58.         echo "我在走路
    "
    ;
  59. //         echo self::$country."我在走路";

  60.     }
  61.     private function eat()

  62.     {
  63.         echo $this->name . "在吃饭
    "
    ;
  64.     }
  65.     function __destruct()

  66.     {
  67.         echo $this->name . " 再见!!!
    "
    ;
  68.     }
  69. }

  70. class student extends Person
  71. {
  72.     var $school;
  73.     
  74.     function __construct($name="", $age="", $sex="",$school="")
  75.     {
  76.         parent::__construct($name, $age, $sex);
  77.         $this->school=$school;
  78.     }
  79.     
  80.     function study()
  81.     {
  82.         $this->run();
  83.     }
  84.     
  85.     function say()
  86.     {
  87.         //echo "我的名字是: " . $this->name . " 年龄:" . $this->age . " 性别:" . $this->sex . "
    ";

  88.         parent::say();
  89.         echo "我所在的学校是:" .$this->school."
    "
    ;
  90.         
  91.     }
  92. }

  93. $p1=new Person();
  94. $p2=new Person();



  95. Person::country=="usa";
  96. // echo Person::country;


  97. // Person::run();




  98. // $p1->say();

  99. // $p2->say();


  100. // $p1->run();


  101. // Person::$country="usa";

  102. // echo Person::$country;


  103. // $s1=new student("张三", 23, "男","北京大学");


  104. // $s1->say();


  105. // $s1->study();



  106. ?>

阅读(327) | 评论(0) | 转发(0) |
0

上一篇:PHP_方法的覆盖和访问权限

下一篇:明天用

给主人留下些什么吧!~~