静态
//普通成员
//普通成员是属于对象的

//静态成员
//静态成员属于类的

类中的静态属性非常类似于函数的全局变量。类中的静态成员是不需要对象而使用类名来直接访问的。

//关键字:static
//self关键字:在类里面代表该类(代表自身)
//在静态方法里面不能调用普通成员
//在普通方法里面能够调用静态成员

/*class FenBi
{
 public $length; //粉笔的长度
 public static $color; //粉笔的颜色
 
 static function show()
 {
  echo "粉笔颜色是:".self::$color;
 }
 
 function XianShi()
 {
  echo "显示:".self::$color;
 }
}

$f = new FenBi(); //先造一个对象
$f->length; //用对象去调用普通成员

FenBi::$color = "红色"; //使用类名调用静态成员
FenBi::show();            //使用类名调用静态方法
$f->XianShi();*/

抽象
//抽象类:关键字abstract
//特点:不能被实例化,只能被继承
//目的:为了派生子类,控制子类

/*abstract class Dog
{
 public $name;
 
 function Jiao()
 {
  echo "汪汪";
 }
}

class JinMao extends Dog
{
 
}*/

//$d = new Dog();

//接口
//极度抽象的类
//接口里面不能包含成员变量,只能包含成员方法
//成员方法可以没有函数体
//接口关键字:interface
//实现接口的类,必须实现接口里面的所有方法

interface IUSB
{
 function read(); //读的方法
 function write(); //写的方法
}

//鼠标的驱动类
class Mouse implements IUSB
{
 function read()
 {
  echo "鼠标点击了";
 }
 function write()
 {
  echo "给鼠标一个指令";
 }
}

//键盘的驱动类
class JianPan implements IUSB
{
 function read()
 {
  echo "键盘输入了内容";
 }
 function write()
 {
  echo "给键盘指令";
 }
}

$m = new Mouse();
$m->write();

$j = new JianPan();
$j->read();

//接口:API

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

PHP中静态与抽象的概念的更多相关文章

  1. java中的对象 方法 引用 等一些抽象的概念是什么意思呢?

    2020-03-14 最近这一段时间有点忙,好久都没有更新博客了,之后我会一直坚持下去的,和大家一同进步的. 这段时间一直在学java,相信刚开始学习java的小白,刚开始接触那么些抽象的概念一定和我 ...

  2. 【黑金原创教程】【TimeQuest】【第一章】TimeQuest 静态时序分析模型的概念

      声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/ ...

  3. java中静态属性和和静态方法的继承问题 以及多态的实质

    首先结论是:java中静态属性和和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏. 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成的,不需继承机制就可以调用如果子类里 ...

  4. C++类中静态变量和普通变量的区别

    静态变量: 1.静态变量会被编到程序的exe里面,从程序启动到结束,它一直存在: 2.静态变量的初始化值为0: 3.全局变量默认是静态变量: 4.在类中的函数变量前面加了static的也是静态变量,只 ...

  5. java类(Class)的概念;对象的概念,声明类的属性 和方法,局部变量和成员变量,面向对象编程思维,抽象的概念

    类(Class)的概念 类是对一组具有相同特征和行为的对象的抽象描述. 理解: [1] 类包含了两个要素:特性和行为 => 同一类事物具有相同的特征和行为. [2] 类是一个群体性概念.例如:网 ...

  6. 编写高质量代码改善C#程序的157个建议——建议112:将现实世界中的对象抽象为类,将可复用对象圈起来就是命名空间

    建议112:将现实世界中的对象抽象为类,将可复用对象圈起来就是命名空间 在我们身边的世界中,对象是什么?对象就是事物,俗称“东西”.那么,什么东西算得上是一个对象呢?对象有属性.有行为.以动物为例,比 ...

  7. C#中静态变量和 静态方法的作用

    1.静态变量 在C#程序中,没有全局变量的概念,这意味着所有的成员变量只有该类的实例才能操作这些数据,这起到了“信息隐藏”的作用.但有些时候,这样做却不是个明智的选择. 假设我们要定义一个图书类,要求 ...

  8. 《挑战30天C++入门极限》新手入门:C++中堆内存(heap)的概念和操作方法

        新手入门:C++中堆内存(heap)的概念和操作方法 堆内存是什么呢? 我们知道在c/c++中定义的数组大小必需要事先定义好,他们通常是分配在静态内存空间或者是在栈内存空间内的,但是在实际工作 ...

  9. iOS开发中静态库之".framework静态库"的制作及使用篇

    iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...

随机推荐

  1. 【Alpha版本】项目测试

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  2. Struts2.3.4.1+Spring3.2.3+Hibernate4.1.9整合

    java教程|Struts2.3.4.1+Spring3.2.3+Hibernate4.1.9整合教程并测试成功一.创建项目二.搭建struts-2.3.4.11.struts2必须的Jar包(放到W ...

  3. [转]如何判断js中的数据类型

    原文地址:http://blog.sina.com.cn/s/blog_51048da70101grz6.html 如何判断js中的数据类型:typeof.instanceof. constructo ...

  4. 区间DP poj 2955

    求最多有几个括号可以匹配 #include<stdio.h> #include<string.h> #include<algorithm> using namesp ...

  5. java -日期

    package com.qinghuainvest.tsmarket.util; import java.text.ParseException; import java.text.SimpleDat ...

  6. Java-开启一个新的线程

    java实现多线程有2种方法:1扩展java.lang.Thread类:2实现java.lang.Runnable接口 下面举个例子,实现Runnable,来实现多线程 public class Do ...

  7. Win7另存文件没有桌面的解决方法

    今日一朋友保存文件随口说了一句我那个桌面找不到了...我略感惊奇,没遇到这么个情况.决定,问度娘,在此做下记录,以便以后自己或朋友查阅. 我们在网上另存一个文件,打开另存窗口,发现没有“桌面” 在收藏 ...

  8. 让Bootstrap 3兼容IE8浏览器

    最近在研究Bootstrap(官方,Github)这个优秀的前端框架,Bootstrap最开始是Twitter团队内部的一个前端框架,所谓前端框架就是一个CSS/HTML框架,框架里面有下拉菜单.按钮 ...

  9. c# 监听文件夹动作

    static FileSystemWatcher watcher = new FileSystemWatcher(); /// <summary>        /// 初始化监听     ...

  10. Reveal使用步骤

    一.Reveal使用步骤 1.启动Reveal --> Help --> Show Reveal Library in Finder,拖动添加Reveal.framework到工程中. 选 ...