博客列表 >__set();__get(),方法演示,static演示

__set();__get(),方法演示,static演示

小的博客
小的博客原创
2018年01月11日 11:18:12746浏览
<?php
header('Content-Type:text/html;charset=utf-8');
/*魔术方法:
*  1,__get();当用户访问一个无权限或者不存在的属性的时候自动调用;
*  2, __set():当用户对一个不存在或者无权限的属性赋值时调用的方法:
*  静态成员的概念:
*   1,静态成员所有对象共享,不属于某个具体对象用关键字static 声明;
*   2,类常量也属于静态成员:const
*   3,静态成员属性和方法使用self::来访问;静态属性名称要加$符号;
*    self::$name $this->name;
*   4,在静态方法中我们只使用静态属性
*   5,在一个静态方法中不允许访问非静态城成员
*   6,在类的外部可以用对象来访问一个静态方法:但不能访问一个静态属性;静态属性保存的值不会消失;
*/

class Person{
 private $_name='杨过'; 
 protected $_age=40;
  function __get($proName='People'){ 
     if($proName=='People'){   
       return $this->_name.'年龄是'.$this->_age; 
        }else{   
      echo '<script>alert("非法访问")</script>'; 
      }   
     }function __set($proName,$proValue){  
     if($proName=='age'){  
      if($proValue>18 && $proValue<120){    
      return $this->$proName=$proValue;   
    }else{    
   echo '<h2 style="color:red">'.$proValue.'是非法数据</h2>';   
  }  
  } 
  }
  }
   $obj = new Person();
   echo $obj->age=120;
  echo $obj->__get().'<br>';
  class Demo{  
    public static $count;
    public static function Add($count=0){  
      return self::$count +=$count; 
   }
    public static function Chen($count=0){  
    return self::$count=$count*$count; 
    }
    }
if($_SERVER['REQUEST_METHOD']=='GET'){
   if(empty($_GET['num1'])){  
    echo '<script>alert("数据不能为空")</script>'; 
  }elseif(empty($_GET['num2'])){  
    echo '<script>alert("数据二不能为空")</script>'; 
  }else{ 
   $num1=(int)$_GET['num1'];  
   $num2=(int)$_GET['num2'];  
   $select=$_GET['slect'];  
   if($num1<=$num2){   
   switch($select){  
   case 'jia': 
    $total=0;  
    for($i=$num1;$i<$num2;$i++){  
    $total=Demo::Add($i);    
      }    
    echo '<script>alert("累加的结果是:'.$total.'")</script>';   
    break;    
    case 'C':     
    $add=0;     
    for($i=$num1;$i<$num2;$i++){    
     $add=Demo::Chen($i);     
     }        
      echo '<script>alert("累乘的结果是'.$add.'")</script>';       
    break;    
   }   
 }else{  
  echo '<script>alert("第二个数字要大于第一个数字")</script>';  
} 
}
 }
 ?>
 <form action='demo_obj.php'> 
 请输入数字:<input type="text" name='num1'> 
 请选择:<select name="slect">         
            <option>请选择</option>          
            <option name="slect" value='jia' selected>+</option>          
            <option name="slect"  value='C'>*</option>       
       </select>
 请输入数字:<input type="text" name="num2">
</form>
<button onclick="add()" type="submit">计算</button>
<script> 
  function add(){  
   document.forms[0].submit();  
}</script>

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议