zoukankan      html  css  js  c++  java
  • 总结6.17php的继承和类

    <?php

    class preson{
        public $a = 'ren';
        //所有地方都可以访问得公有变量
        protected $b = 123;
        //受保护,只有自己和子类可以对其访问
        private $c = '空';
        //私有,外部无法进行访问
        function b(){
            echo 'ren';
        }
    class preson1 extends preson{
        function b(){
            echo $this->a;
            echo $this->b;
            //echo $this->c;
        }
        //子类对父类的继承,可以改写方法,这里$c无法访问和输出
    }
    $a = new preson1;
    $a->b();

    interface l{
        function aa();
    }
    //接口的定义,接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。
    class k implements l{
        function aa(){
            echo 'sdgg';
        }
        //接口的运用,使用 implements 操作符,类中必须实现接口中定义的所有方法,否则会报一个致命错误。
    }
    $a = new k();
    $a->aa();
    abstract class i{
        abstract protected function aa();
    }
    //定义抽象类,任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),
    //不能定义其具体的功能实现
    class ii extends i{
        protected function aa(){
            echo 'aaa';
        }
    }//继承一个抽象类的时候,子类必须定义父类中的所有抽象方法;另外,这些方法的访问控制必须和父类中一样(或者更为宽松)
    class cc{
        const ss = '常量值';
        function showConstant() {
            echo  self::ss;
        }}
        echo cc::ss;
        //声明类属性或方法为static,就可以不实例化类而直接访问,但是这里格式是双冒号
    ?>
  • 相关阅读:
    在Arch上使用Fcitx5
    博客园图片居中
    冒泡排序算法
    检查字符串是否包含另一串字符串(c++)
    辗转相除法(求最大公约数或最小公倍数)
    二叉树等总结
    应用jfinal发送微信模板消息的一个bug
    线程中wait/notify/notifyAll的用法
    应用jfinal时要注意区分Db.query和Db.find
    从源码角度简单看StringBuilder和StringBuffer的异同
  • 原文地址:https://www.cnblogs.com/HighKK/p/13153411.html
Copyright © 2011-2022 走看看