zoukankan      html  css  js  c++  java
  • PHP 静态与抽象

    静态:静态成员是属于类的。  

    普通成员是属于对象的;

    class Ren{
        public $name;//普通成员
    }
    class FenBi{
        public static $color; //静态成员
        public $length;
        public static function test(){   
            //echo "红色的粉笔";
            echo "长度为:{$this->length}";//静态的方法里面不可以包含普通成员
    }
    public function ceshi(){

    echo "颜色为".FenBi::$color; } } //普通的方法里面可以包含静态成员

    关键字:static


    给类的静态成员赋值:
    FenBi::$color ="红色";
    FenBi::test(); //调用静态方法

    静态的方法里面可以包含普通成员吗?不能。

    调用类的静态方法:

    $f = new FenBi();
    $f->censhi();
    class A{
        public function tanchu(){
            echo  "输出一个对象";
            var_dump(new B("张三"));  
    }
           
    }
    
    
    class B{
         public $b;    
         public funtion __construct($b){   //构造函数
            $this->b = $b;
    
        }
    }

    抽象类:更加抽象的一个类,无法直接实例化对象,主要作为父类存在。不能被实例化。
    抽象方法:抽象的一个方法,不能直接调用。

    关键字:abstract

    abstract class Ren{
        public abstract function test();//不能加花括号,不包含函数体
        }
    
    class China extends Ren {
        public function test(){  //子类实现抽象类的抽象方法
            echo "aa";
            }
        }
    $c = new China();

    接口:极度抽象的类,只能包含抽象方法。控制子类必须要实现的功能。

    关键字:interface

    interface USB{
        public function read();
        public function write();
        }

    实现接口的类,关键字为implements

    interface USB{
        public function read();
        public function write();
        }
        
    class ShuBiao implements USB{
        public function read(){
            echo "鼠标插入";
            }
        public function write(){
            echo "给鼠标供电了";
            }
        }
    $s = new ShuBiao();
    $s->read();

    输出:

  • 相关阅读:
    CSS3中background-origin和background-clip的区别
    JavaScript的赋值是引用or复制,及参数传递
    写第一个jquery插件实录
    北大acm1008
    北大acm1007
    北大acm1006
    北大acm1005
    北大acm1004
    团队绩效评估
    第二阶段冲刺第十天
  • 原文地址:https://www.cnblogs.com/niushuangmeng/p/8259265.html
Copyright © 2011-2022 走看看