欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

36 PHP面向对象

程序员文章站 2022-05-01 15:31:24
...
1. __set() 和 __get() 方法
classA
    {private$n1;
        private$n2;
        private$n3;

        //使用__set()方法来管理所有的属性publicfunction__set($pro_name,$pro_val)
        {$this->pro_name = $pro_val;
        }

        //使用__get()方法获取所有属性的值publicfunction__get($pro_name)
        {if(isset($pro_name)){
                return$this->pro_name;
            }else{
                returnnull;
            }
        }
    }

    $a1 = new A();
    $a1->n1 = "aaa";
    echo$a1->n1;

36 PHP面向对象


1. 抽象
36 PHP面向对象

2. 封装
36 PHP面向对象
36 PHP面向对象
36 PHP面向对象
36 PHP面向对象


3.多态
36 PHP面向对象
PHP不支持函数多态。

classA
    {publicfunctiontest1($a,$b)
        {echo'接受一个参数';
        }

        publicfunctiontest2($a)
        {echo'接受两个参数';
        }

        // 这里提供一个__call;// 当一个对象调用某个方法,而该方法不存在,则系统自动调用__callfunction__call($method,$p)
        {
            var_dump($p);
            if($method == "test"){
                if(count($p1)==1){
                    $this->test1($p);
                }elseif(count($p)==2){
                    $this->test2($p)
                }
            }
        }
    }



    $a = new A();
    echo$a->test(1);
也可以判断类型。

重写(覆盖):名称与参数个数必须一样
36 PHP面向对象
36 PHP面向对象


5. 抽象类
36 PHP面向对象

以上就介绍了36 PHP面向对象,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。