• 静态和抽象


    类里面的成员有静态成员和普通成员

    静态成员赋值取值

    	<?php
    		class FenBi{
    			public $lenth;//普通成员变量属于对象
    			public static $color;//静态成员关键字static属于类
    		}
    		FenBi::$color = "红色";//给静态成员赋值
    		FenBi::$color;//静态成员取值
        ?>
    

     普通成员赋值取值

    	<?php
    		class FenBi{
    			public $lenth;//普通成员变量属于对象
    			public static $color;//静态成员关键字static属于类
    		}
    		FenBi::$color = "红色";//给静态成员赋值
    		FenBi::$color;//静态成员取值
    		$f = new FenBi();//实例化
    		$f->lenth = "15CM";
        ?>
    

     静态方法

    	<?php
    		class FenBi{
    			public static function test(){//静态方法关键字
    				echo"这是静态方法";
    			}
    		}
    		FenBi::test();
        ?>
    

     静态方法里不能有普通成员(普通成员调用需要实例化,静态方法不需要实例化)

    普通方法里可以有静态成员

    	<?php
    		class FenBi{
    			public $lenth;
    			public static $color;
    			public  function test(){
    				echo "颜色为".FenBi::$color;
    			}
    		}
    		FenBi::$color = "红色";
    		FenBi::$color;
    		$f = new FenBi();
    		$f->test();
        ?>
    

     静态方法实例

    	<?php
    		class A{
    			public  function chuanzhi(){
    				B::$b = "张三";
    			}
    		}
    		class B{
    			public static $b;
    		}
    		$a = new A();
    		$a->chuanzhi();
    		echo B::$b
        ?>
    

     构造函数方法

    	<?php
    		class A{
    			public  function chuanzhi(){
    				var_dump(new B("张三"));
    			}
    		}
    		class B{
    			public  $b;
    			public function __construct($b){
    				$this->b = $b;	
    			}
    		}
    		$a = new A();
    		$a->chuanzhi();
        ?>
    

     抽象

    抽象类:类本身就是抽象的,抽象类就是更加抽象的类,无法直接实例化对象,主要作为父类存在可以派生子类。

    抽象方法:抽象的一个方法,不能直接调用主要用来让子类事项

                  子类继承父类的抽象方法,不过子类不重写,那么子类必须为抽象类。

    	<?php
    		abstract class Ren{
    			public abstract function test();//抽象方法不需要加{}
    		}
    		class china extends Ren{
    			public function test(){
    				echo "方法重写";
    			}//重写抽象类方法
    		}
    		$a = new China();
    		$a->test();
        ?>
    

     抽象类里可以有抽象方法和普通方法

    接口

    里面只能有抽象方法,不能有别的

    接口是极度抽象的类

    接口有面向对象的接口和API:网络数据接口。

    	<?php
    		interface USB{
    			public function read();
    			public function write();
    		}//面向对象的接口关键字interface
    		class ShuBiao implements USB{//关键字不再是extends  关键字是implements
    			function read(){
    				echo"鼠标插入<br>";
    			}
    			function write(){
    				echo"正常使用";
    			}
    		}
    		$a = new ShuBiao();
    		$a->read();
    		$a->write();
        ?>
    
  • 相关阅读:
    C#执行异步操作的几种方式
    spring boot swagger ui使用 nginx 部署后无法使用问题
    PHP支付宝接口RSA验证
    认证加密算法php hash_hmac和java hmacSha1的问题
    如何实现从 Redis 中订阅消息转发到 WebSocket 客户端
    ffmpeg安装
    nginx静态资源反向代理
    Redis基础知识 之——发布/订阅
    linux下安装git
    php实现无限级分类查询(递归、非递归)
  • 原文地址:https://www.cnblogs.com/navyouth/p/8250310.html
Copyright © 2020-2023  润新知