zoukankan      html  css  js  c++  java
  • PHP面向对象三大特性之一:封装

    面向对象的三大特性:封装、继承、多态
    1、封装
    封装的目的:让类更加安全,做法是不让外界直接访问类的成员
    具体做法:1、成员变为私有:访问修饰符(public、private、protected)
                        2、造成员方法来操作变量 SetAge()和GetAge()方法 (每个变量都需要两个方法很麻烦,用PHP以下的方法)
                    3、PHP操作变量的方法(双下划线__set()和__get()方法)也可以控制用户的输入,并且只需要一个就好
     
    具体例子:
    class SuanShu{
        private $a;
        private $b;
     
        function __construct($a,$b){
            $this->a = $a;
            $this->b = $b;
        }
     
        function __set($n,$v){
            if($n == "a" || $n == "b"){
                if($v > 0  and $v < 100){
                    $this->$n = $v;        
                }
            }else{
                $this->$n = $v;    
            }
        }
        function __get($n){
            return $this->$n;    
        }
     
        function He(){
            return $this->a + $this->b;
        }
        function Ji(){
            return $this->a * $this->b;
        }
    }
     
    $r = new SuanShu(5,5);
    $r->a = 8;
    $r->b = 8;
    echo $r->He();
    echo "<br/>";
    echo $r->Ji();
     
    需要注意的是成员变量的$符号使用
     
    2、构造函数
        在创建对象的时候,对成员变量进行初始化
        特点:1、在创造对象的时候自动执行。2、名字是双下划线  __construct()
     
    function __construct($s)
        {
            $this->sex = $s;
        }
  • 相关阅读:
    图片懒加载
    浅谈javascript的函数节流
    js字符串常用方法详解
    js数组详解
    thinkphp3.2 批量添加数据
    openssl证书及配置
    手机访问PC端
    mui框架(三)
    mui框架(二)
    mui框架(一)
  • 原文地址:https://www.cnblogs.com/yongjiapei/p/5561112.html
Copyright © 2011-2022 走看看