zoukankan      html  css  js  c++  java
  • php面向对象之三大特性

    面向对象的三大特性是封装,继承和多态。

    一.封装

    封装的目的是为了让类变得更加安全,因为外界不能直接访问和修改类里面的变量、属性。

    封装的做法

    1.将类中的变量私有化(即变量的访问修饰符为private)

    2.做一个成员方法来简介访问

    3.在该方法中加入限制条件

     

    例:

        class Ren
              {
                private $age; //    让成员变量私有
                private $name;

               
             

           function setAge($n)        //定义成员方法,用来让外界调用
                {
                  if($n>=18 && $n<=50)
                    {
                      $this->age = $n;
                      }
                        }
                  function getAge()
                      {
                      return $this->age;
                          }*/
                }
          $r = new Ren();    
          
          $r->age = 20;
          $r->name = "zhangsan";
          echo $r->name;

    二、继承

    继承就是子类继承父类的一切,使用extends关键字,只能单继承(就是子类只能有一个父类,但一个父类可以有多个子类)

    例    class Ren            //定义一个父类
      {
        private $name;

        function Run()        //父类的成员方法
            {
            echo "跑步";
              }
          }
        class China extends Ren      //定义一个子类China,继承于父类Ren ,中间用了关键字extends,并且继承到了父类的一切。
            {
              //重写 override
              function Run()      //子类中出现了和父类的同名函数,子类重新定义函数的功能 ,叫做重写(override)
                {
              parent::Run();  //如果想继续调用父类的重名函数,可以使用parent::的方法来调用。会同时执行父类和子类的方法。
               echo "中国人跑步";
                }
              }
        $c = new China();
        $c->Run();

    三、多态

    当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,该引用在调用方法的时候表现出的不同,叫做多态。

    php属于弱类型语言,多态的表达不明显,但是在强类型语言中可以运用多态

  • 相关阅读:
    前台隐藏或者看不见
    关于线程安全
    JAVA中的length属性和length()方法和size()方法的区别
    内存泄露和内存溢出
    配置tomcat,只需要启动一次
    ThickBox关闭本页,刷新父页
    Myeclipse断点问题
    解决windows远程(Telnet)最大连接数的问题
    父页刷新的方法
    Jsp页面大小写转换
  • 原文地址:https://www.cnblogs.com/du892294464/p/6730907.html
Copyright © 2011-2022 走看看