• PHP面向对象


    PHP面向对象:

        一、如何定义类

            声明类

            class Dog

            {

                var $name;

                var $age;

                var $pinzhong;


                function Jiao()

                {

                    echo "{$this->name在叫}";#this代表当前对象

                }

            }

        二、实例化对象

            $dog = new Dog();

            调用成员变量

            $dog->name = "旺财";

            $dog->age = 10;

            $dog->pinzhong = "哈士奇";

            调用方法

            $dog->Jiao();

        三、this关键字

            $this->name;this代表该对象,如果要在成员方法中调用成员变量,一定要是用$this引用

        四、构造函数

            class Dog

            {

                var $name;

                var $age;

                var $pinzhong;

                function __construct($n,$a,$p)#下划线有两个

                {

                    $this->name = $n;

                    $this->age = $a;

                    $this->pinzhong = $p;

                }


                function Jiao()

                {

                    echo "{$this->name在叫}";#this代表当前对象

                }

            }

            $dog = new Dog("旺财",10,"金毛");


            $dog->Jiao();

        五、析构函数

            

            class Dog

            {

                var $name;

                var $age;

                var $pinzhong;

                function __construct($n,$a,$p)#下划线有两个

                {

                    $this->name = $n;

                    $this->age = $a;

                    $this->pinzhong = $p;

                }


                function Jiao()

                {

                    echo "{$this->name在叫}";#this代表当前对象

                }

            function __destruct()#析构函数

            {

                echo "拜拜";

            }

            }

            $dog = new Dog("旺财",10,"金毛");


            $dog->Jiao();

        六、封装:

            降类里面的成员变量加一个private修饰符变成私有的,目的是为了保护类里面的成员不被外界随意访问,从而确保类的安全性。如果将变量设置为私有,,如何去访问:

            1,自己写函数get函数set函数,然后来对变量赋值和取值

            2,用系统自带的__get()函数和__set()函数来实现类里面的变量赋值和取值

            class Dog

            {

                private $name;

                private $age;

                private $pinzhong;

                /*function SetName($n)

                {

                    $this->name = $n;

                }


                function SetAge($a)

                {

                    if($a>=1 && $a<=5)

                    {

                    $this->name = $a;

                    }

                }*/

                function __set($name,$value)

                {
                    
                    $this->$name = $value;

                }

                function __get($name)

                {
                    
                    return $this->$name;

                }

                function __construct($n,$a,$p)#下划线有两个   类的构造函数,用new引用函数。

                {

                    $this->name = $n;

                    $this->age = $a;

                    $this->pinzhong = $p;

                }


                function Jiao()

                {

                    echo "{$this->name在叫},它{this->age}岁了";#this代表当前对象

                }

            function __destruct()#析构函数

            {

                echo "拜拜";

            }

            }

            $dog = new Dog("旺财",10,"金毛");

            $dog->name = "小强";

            $dog->age = "3";

            echo $dog->name;

            $dog->Jiao();

        七,继承

            class HaShiQi extends Dog#哈士奇继承狗的类, 哈士奇是子类,狗类是父类

            {

                

            }

         八、方法的重写     final将不能被继承,写在类前面

            class HaShiQi extends Dog#哈士奇继承狗的类, 哈士奇是子类,狗类是父类

            {

                public static $height;

                function Jiao()

                {

                    pstrny::Jiao();#引用父类的方法,在子类中调用父类的方法  类调用方法用::

                    echo "hello";#另外添加的方法

                }
                
                function Gao()

                {

                    echo "这么高".self::$height;self代表这个类   this 代表这个对象

                }

            }        

            HaShiQi::$height = 10;调用静态的成员

            echo HaShiQi::$height;

            $dog->jiao();


        static 静态属于类的。而不是对象的。 例如粉笔的长度是非静态的,颜色是静态的。 颜色是属于类的,长度是属于对象的。

        九、多态
            
            条件:必须要继承,父类的引用指向子类的实例,重写函数。

            tostring方法,在输出对象的时候可以显示该方法中的信息

            $r1 =clone $ren  克隆对象

            在克隆的时候会自动执行,该函数的目的就是将克隆出来的对象进行一些改变

            引入页面   include(“china.php”)#同一页面

                   require_once "china.php"

                   include(“class/china.php”)

                   include(“../china。php”)

             自动加载

             function __autoload($classname)

                {
        
                    require_oncce $classname . ".php"

                }

  • 相关阅读:
    UICollectionView
    UIDynamicPPT
    05-UIDynamic
    键盘处理return key-工具条
    源代码管理工具 git
    源代码管理工具
    核心动画09-CATransition转场动画
    核心动画06-时钟(了解)
    Intersect,Minus,union all 和union的区别
    freemarker大于,小于 gt,lt 的用法
  • 原文地址:https://www.cnblogs.com/liaoliao/p/5162148.html
Copyright © 2020-2023  润新知