静态:

    关键字为:static

    静态成员与普通成员的区别:普通成员是属于对象的,为静态成员是属于类的。

class FenBi{public static $color;   //静态成员public $length;  //普通成员public static function test(){echo "长度为:{$this->length}";}public function ceshi(){echo "颜色为".FenBi::$color;}
}
FenBi::$color = "红色";  //赋值使用类名
$f = new FenBi();
$f->ceshi();

    静态的方法里面不能包含普通成员(没有对象,没办法调用普通成员);

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

  抽象:

    抽象类:更加抽象的一个类,无法直接实例化对象,主要做为父类存在;

    抽象方法:抽象的一个方法,不能直接调用;

    抽象关键字:abstract。

abstract class Ren{public abstract function test();
}
class China extends Ren{public function test(){echo "aa";}
}
$c = new China();

    接口:极度抽象的类,里面只能包含抽象方法,不能包含普通方法和成员变量。

//定义实现哪些功能
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();$s->write();

    接口一般还表示API:网络数据接口。

  加载:

    如果在类里面只造了一个对象,然后直接输出会报错,入过想输出查看类里面的内容需要使用到加载。

    关键词:__tostring,同样为一个魔术方法,在输出对象时自动调用。

class Ren{public function __tostring(){return "这是一个人类";}
$r = new Ren();
echo $r;  //输出这是一个人类

  克隆:

    能够从一个对象里面克隆出一个一模一样的对象出来。

    关键词:__clone

class Ren{public $name;public function __clone(){//$this->name = "李四";   //输入这句可以改变输出的内容
    }
}
$r = new Ren();
//克隆对象
$r = new Ren();
$r->name = "张三";
$r1 = clone $r;
var_dump($r1);  //输出张三

  加载类:

    1.

include("类所在的地址");

      这种执行两次会因为重复报错,写成:

include_once("类所在的地址");

      这样就可以正常显示,表示请求一次,可防止因发生重复而报错。

    2.

require("类所在的地址");

      同样两次重复会报错

require_once("类所在的地址")

      这样就可以防止报错。

    这两种的区别:如果类里面出现错误,include不会影响程序执行,require会导致后面的不能执行。

    3.自动加载类:

      条件:

        1.类的命名要规范;

        2.所有的类要放在同一个文件夹下。

      类的文件命名规范:类名(同样首字母大写).class.php。

      关键词:__autoload

function __autoload($classname){require_once "地址";
}

        然后在同一个目录下新建几个类,即可调用。

转载于:https://www.cnblogs.com/maoqiaoyu123/p/8250799.html

面向对象的静态、抽象和加载相关推荐

  1. 前端静态资源请求和加载优化总结

    如果有这样一个项目,js脚本数量100+,其中50个是各种框架或库,css数量20+,图片若干 .那么,不用说,这个页面加载起来,一定快不了. 静态资源的请求和加载速度,直接影响页面呈现,应该怎么优化 ...

  2. java 类 加载 初始化_java中类的初始化和加载

    最近在阅读孙卫琴的java面向对象一书中,看到对java中类的初始化和加载中的论述比较系统,故笔记之 1)类的初始化,JAVA在初始化一个类时,以下步骤 A 假如类存在直接的父类,并且这个父类还没有初 ...

  3. Tensorflow |(3)变量的的创建、初始化、保存和加载

    Tensorflow |(1)初识Tensorflow Tensorflow |(2)张量的阶和数据类型及张量操作 Tensorflow |(3)变量的的创建.初始化.保存和加载 变量的的创建.初始化 ...

  4. Android O: View的绘制流程(一): 创建和加载

    从这篇博客开始,我们会用几篇文章,  基于Android O的代码,分析一下View的绘制流程. 在分析具体的绘制流程前,我们先来了解一下XML中定义的View,  如何被创建和加载. 一.setCo ...

  5. Java反射-静态/动态加载类

    title: Java反射-静态/动态加载类 date: 2019-05-28 18:50:00Java反射-静态/动态加载类 Class 类是对象,是java.lang.Class类的实例对象.任何 ...

  6. PyTorch学习笔记2:nn.Module、优化器、模型的保存和加载、TensorBoard

    文章目录 一.nn.Module 1.1 nn.Module的调用 1.2 线性回归的实现 二.损失函数 三.优化器 3.1.1 SGD优化器 3.1.2 Adagrad优化器 3.2 分层学习率 3 ...

  7. 前端性能和加载体验优化实践(附:PWA、离线包、内存优化、预渲染)

    一.背景:页面为何会卡? 1.1 等待时间长(性能) 项目本身包/第三方脚本比较大. JavaScript 执行阻塞页面加载. 图片体积大且多. 特别是对于首屏资源加载中的白屏时间,用户等待的时间就越 ...

  8. paddlepaddle模型的保存和加载

    导读 深度学习中模型的计算图可以被分为两种,静态图和动态图,这两种模型的计算图各有优劣. 静态图需要我们先定义好网络的结构,然后再进行计算,所以静态图的计算速度快,但是debug比较的困难,因为只有当 ...

  9. 美团金融扫码付静态资源加载优化实践

    原文链接:https://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651747208&idx=1&sn=b9fc54300 ...

最新文章

  1. 基于Python的人工智能美颜系统
  2. 如何快速实现物联网行业中的实名认证
  3. Sublime Text 3 注册激活码
  4. 引用类型String的操作
  5. Markdown: Basics (快速入门)
  6. 前端开发工程师和美工 知识需求的区别
  7. textarea还剩余字数统计
  8. 一个通用的Makefile模板-转
  9. 浏览器同源与跨域问题总结
  10. python统计文本单词总数_python统计文本文件内单词数量的方法
  11. centos7安装源疯了_Jenkins 在 Centos7 上安装(使用国内源)
  12. 强悍的 Linux —— tar
  13. Linux系统编程 --- 系统调用
  14. kotlin学习---Field
  15. 2021东北四省赛部分题解
  16. 微信备份服务器,数码早知道 篇五:终于支持微信备份了!群晖Drive X 内测信息流出汇总!...
  17. 20元制作笔记本电脑防偷窥神器
  18. 【OpenCV入门教程之十一】 形态学图像处理(二):开运算、闭运算、形态学梯度、顶帽、黑帽合辑
  19. Centos下搭建个人网站
  20. 利用阿里云容器镜像服务下载gcr.io镜像

热门文章

  1. asp.net错误处理的三种方法
  2. JavaAgent的使用总结
  3. 实时人脸识别例子-tensorflow2.x keras
  4. python 获取键盘输入、同时有超时的功能_python 获取键盘输入,同时有超时的功能示例...
  5. 花书 —— 机器学习基础
  6. C++/C--Windows下获取键盘事件
  7. Matlab--view函数详解
  8. 入门讲解:使用numpy实现简单的神经网络(BP算法)
  9. 运维常用进程查看命令
  10. php查真实地址,php教程:检查URL地址是否真实存在