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

全部博文(108)

分类: PHP

2013-07-18 16:58:26


点击(此处)折叠或打开

  1. <?php

  2. /*如何实例化对象
  3.  * $对象名=new 类名称()
  4.  *
  5.  * $对象名称->成员属性; $p->name="xxx"
  6.  * $对象名称->成没方法; $p->say();
  7.  *
  8.  *
  9.  * 特殊的引用$this
  10.  * 构造方法 (器)
  11.  * 特点:对象一产生的时候,自动调用构造方法,初始化成员属性
  12.  * 名称和类名相同。
  13.  * 对象生成一个,就调用一次。生成多个,调用多次。
  14.  * 可以有形参
  15.  * php5 php4的申明不同,使用时php5优先
  16.  *
  17.  *
  18.  * 析构函数
  19.  * 在对象消失前做一些工作,比如打开文件后要关闭时,或是打开数据库,又要关闭时
  20.  * 有些象JAVA中的垃圾回收器
  21.  *
  22.  *
  23.  *
  24.  * 封装性
  25.  * 就是将对象内部的属性或者方法封装在自已对象的内部,在对象内部可以被使用或访问,但
  26.  * 在对象的外部或者是在其它对象里不能使用封装的成员。
  27.  *
  28.  * */
  29.         class Person
  30.         {
  31.             //成员属性

  32.             
  33.             private $name;
  34.            private $age; //私人有属性

  35.             private $sex;
  36.            private $phone;
  37.             //构造方法

  38.             
  39. // function Person($name,$age,$sex) //php4的申明方法

  40. // {

  41. // $this->name=$name;

  42. // $this->age=$age;

  43. // $this->sex=$sex;

  44. // }

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

  47.             {
  48.                 $this->name=$name;
  49.                 $this->age=$age;
  50.                 $this->sex=$sex;
  51.             }
  52.             
  53.             
  54.             
  55.             
  56.             //成员方法

  57.             function say()
  58.             {
  59.                     echo"我的名字是: ".$this->name. " 我的年龄是: ".$this->age." 我的性别是: ".$this->sex."
    "
    ;
  60.                     echo $this->eat();
  61.             }
  62.             
  63.             function run()
  64.             {
  65.                     echo"我在走路";
  66.             }
  67.             
  68.             function setAge($age) //留一个可供修改的接口

  69.             {
  70.                 if($age<0 || $age>150)
  71.                 {
  72.                     echo "can not change age!
    "
    ;
  73.                     return ;
  74.                 }
  75.                 $this->age=$age;
  76.             }
  77.             
  78.             function getAge()
  79.             {
  80.                 return $this->age-10; //可加上约束条件

  81.             }
  82.             
  83.             function getName()
  84.             {
  85.                 return $this->name;
  86.             }
  87.             function setName()
  88.             {
  89.                 //此处加上约束条件,比如姓必须是张....可用正则表达式

  90.                 $this->name=$name;
  91.             }
  92.             
  93.            private function eat()
  94.             {
  95.                     echo $this->name."在吃饭
    "
    ;
  96.             }
  97.             
  98. /* function work()
  99.             {
  100.                     $this->income();
  101.                     $this->expenditure();
  102.             }
  103.             
  104.             function income()
  105.             {

  106.             }
  107.             
  108.             function expenditure()
  109.             {

  110.             } */
  111.             
  112.             function study()
  113.             {
  114.             
  115.             }
  116.             
  117.             function __destruct()
  118.             {
  119.                 echo $this->name." 再见!!!
    "
    ;
  120.             }
  121.             
  122.             
  123.         }
  124.         
  125.    /* class Phone
  126.         {
  127.             var $manufacturers;
  128.             var $color;
  129.             var $size;
  130.             
  131.             function call()
  132.             {
  133.                     
  134.             }
  135.             
  136.             function answerCall()
  137.             {
  138.             
  139.             }
  140.             
  141.             function sendMessage($person,$message)
  142.             {
  143.                 $person->phone->recieveMessage($message);
  144.             }
  145.             
  146.             function recieveMessage($message)
  147.             {
  148.                   echo "接收的信息是:".$message."
    ";
  149.             }
  150.             
  151.             function playMusic()
  152.             {
  153.             
  154.             }
  155.             
  156.         } */
  157.         
  158.         $p1=new Person("张三",29,"男");
  159.         $p2=new Person("李四",39,"女");
  160.         $p3=new Person("王五",99,"男");
  161.         
  162.         $p4=new Person($name="", $age="", $sex="");
  163.         
  164. /* $p1->name="张三";
  165.         $p2->name="李四";
  166.         $p3->name="王五";
  167.         
  168.         $p1->age=20;
  169.         $p2->age=51;
  170.         $p3->age=48;
  171.         
  172.         
  173.         $p1->sex="男";
  174.         $p2->sex="女";
  175.         $p3->sex="男"; */
  176.         
  177.         
  178. // $p1->age=30000;

  179.         $p1->setAge(500);
  180.         echo $p1->getAge()."
    "
    ;
  181.         $p1->say();
  182. // $p1=null;

  183.         $p2->say();
  184.         $p3->say();
  185.         
  186.        
  187.         
  188. // $p1->eat();

  189. // $p2->eat();

  190.         

  191.                 
  192. ?>

阅读(494) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~