• 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"

                }

  • 相关阅读:
    postgresql 高可用 etcd + patroni 之四 failover
    mysql 高可用架构 mha 之三 master_ip_online_change
    postgresql 一种比较个性的 sql 写法
    mysql 高可用架构 mha 之二 master_ip_failover
    mysql 高可用架构 mha 之一 安装
    vacuum 不释放文件系统空间
    mysql slave 复制冲突的解决
    mysql 8.0 登录报错
    oceanbase的一些网址信息
    cockroachdb的一些网址信息
  • 原文地址:https://www.cnblogs.com/liaoliao/p/5162148.html
Copyright © 2020-2023  润新知