zoukankan      html  css  js  c++  java
  • 面向对象中静态、抽象及接口

    一、静态
    普通成员:属于对象
    静态成员:属于类的
    关键字:static
    class fenbi
    {
    public $length;
    public static $color="红";
    public static function test()
    {
    echo "静态成员方法".self::$color;//静态方法不能调用普通成员,self::调用静态成员或直接用类名调用
    }
    public function ceshi()
    {
    echo self::$color;//普通成员方法可以调用静态成员
    }
    }
    $f=new fenbi();
    $f->length;//普通成员调用方式
    fenbi::$color;//双冒号调用静态成员
    fenbi::test();//静态方法不需要造对象,可以直接调用
    二、抽象
    关键字:abstract
    抽象类由于过于抽象,所以不能被实例化,作为父类存在
    抽象方法里面不能包含函数体,其具体功能在子类里面重写实现
    包含抽象方法的类一定是抽象类
    abstract class dongwu
    {
    public $name;
    public abstract function test();//抽象方法不能包含函数体
    }
    class dog extends dongwu//子类要么继承父类的抽象方法,要么子类也变成抽象类
    {
    public function test()
    {
    echo "重写了" ;
    }
    }
    var_dump($d);
    三、接口 极度抽象的类
    接口里面没有成员变量
    接口里面所有成员函数全部为抽象的
    interface IUSB
    {
    public function read();
    public function write();
    }
    class shubiao implements IUSB
    {
    public function read()
    {
    echo "鼠标插入了";
    }
    public function write()
    {
    echo "往鼠标写内容";
    }
    }
    $s=new shubiao();
    $s->read();

    接口如果不是指面向对象里的接口就是指网络服务的接口。     

  • 相关阅读:
    laravel 使用 php artisan make:model到指定目录(controller同理)
    Mysql常见的优化策略
    laravel路由别名
    laravel whereNotIn where子查詢
    phpstorm界面不停的indexing,不停的闪烁
    Linux下Redis开机自启(Centos6)
    数据结构常用算法
    困惑的前置操作与后置操作
    SSH框架整合中Hibernate实现Dao层常用结构
    过滤器与拦截器区别
  • 原文地址:https://www.cnblogs.com/mengshenshenchu/p/6738769.html
Copyright © 2011-2022 走看看