静态:

在类里面 定义的变量   在别的地方引用的时候 只要是  静态引用 就一定要加$

普通成员 : 属于对象的

静态成员: 属于类的  static  (通过双冒号调用)

调用静态成员:   ren::$zhongzu=”站点”

函数(方法 ) 也可以 做成静态的  通过 双冒号 调用 格式:  类名::调用的成员

构造方法  做成私有 外界访问不到 类里面   成员不能用   这时可以使用 静态  不需要 初始化   直接用类名 和双冒号  调用

静态成员和普通成员调用时的区别:

静态成员的 调用 可以放在任何位置(普通成员里面可以调用静态成员)

普通成员里不能调用静态成员(原因: 静态方法是属于类的  调用的时候 不需要建立对象  普通成员 是属于对象的 使用前必须建立对象)

self  在类里面 表示该类  (只可以在 类里面用 花括号 内部)

$this  在对象里面表示该对象

class ren
{
public static $name;
public static $age;
function say()
{}
}
class china extends ren
{
function say()
{
echo self::$name."中国人".self::$age;//这里面 既可以用self 也可以用 ren(父类名)---变量名 加$ } }
ren::$name="斗破";//这里面只可以用父类名; 后面的变量名 要加&
ren::$age=18;
$bb=new china();
$bb->say()

static 例题 注意 注解

2.

抽象类:

抽象类 不能被实例化

为了作为父类使用(让子类来继承)

在类前 加一关键字  abstruct  就变成一个抽象 类

抽象类  赋值普通 类赋值一样   只需要 对子类初始化  在子类里面赋值(因为子类可以继承父类的一切)

(子类对父类的方法 进行重写 )

(return)

扩展性好

abstract class YunSuan
{
public $a;
public $b; function Suan()
{
}
} class Jia extends YunSuan
{
function Suan()
{
return $this->a+$this->b;
}
} class Jian extends YunSuan
{
function Suan()
{
return $this->a-$this->b;
}
} class Cheng extends YunSuan
{
function Suan()
{
return $this->a*$this->b;
}
} $jia = new Cheng();
$jia->a=;
$jia->b=;
echo $jia->Suan();

抽象类

3.接口:

关键词: interface        impliments

接口: 极度抽象的类

接口里面方法  没有函数体 只声明函数名

接口定义 (命名 以I 开头)

接口 是作为父类存在的  接口里面出现的方法(控制子类必须实现)

每个子类里面必须实现(实现所有 内容少一个则报错)  (必须写函数名+函数体)

接口相当于  目录(公司规范)

interface IUSB
{
function Read(); //接口里面只声明函数名
function Write();
} class ShuBiao implements IUSB
{
function Read()
{
echo "鼠标插上了";
}
function Write()
{
echo "给鼠标传了数据";
}
} $s = new ShuBiao();
$s->Read();

接口 例题

PHP 抽象类 和 interface 接口的更多相关文章

  1. Java abstract 抽象类 和interface接口的异同点

    abstract 抽象类 和interface接口的异同点 相同点: 抽象类和接口都不能实例化,他们都位于继承树顶端,被其他类实现和继承 都可以包含抽象方法,实现接口或者继承抽象类的非抽象类(普通类) ...

  2. 《Beginning Java 7》 - 7 - abstract class 抽象类 和 interface 接口

    1. 抽象类: 为什么用抽象类: 一些 generic 的类本身并没有现实意义,所以不需要被实例化.比如动物,自然界没有动物这个物种,但却有无数的继承自动物的物种,那么动物本身可以是一个抽象类. 抽象 ...

  3. abstract抽象类和interface接口

    一.抽象类 1.抽象类不能实例化,因为有抽象方法未实现 2.可以被抽象类或非抽象类继承 3.但不是只能被继承,还可以直接拿来使用的,当然,这个使用是拿来声明,反例如下: public abstract ...

  4. 抽象类,interface接口,接口和继承的区别

    一.抽象类 需要抽象类的原因:父类方法不确定性的问题.考虑将该方法设计为抽象(abstract)方法所谓抽象方法就是没有实现的方法.所谓没有实现就是指,没有方法体.当一个类中存在抽象方法时,需要将该类 ...

  5. JAVA的abstract修饰符 && 接口interface用法 && 抽象类和interface的差别

    abstract修饰符可以修饰类和方法. (1)abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型(见后面实例),也就是编译时类型.抽象类就相当于 ...

  6. 抽象类 abstract 和 接口 interface 类的区别

    在看一些框架的优秀改良时,都会设计一层base层,并且 base里面一般都是 abstract 类,然后 就找了为什么做的原因.发现: PHP5支持抽象类和抽象方法.抽象类不能直接被实例化,你必须先继 ...

  7. php部分---面向对象静态、抽象类、oop接口、加载类、魔术方法、关键字。

    静态  static关键字 普通成员普通成员是属于对象的 静态成员静态成员是属于类的 普通方法里面可以调用静态成员静态方法里面不能调用普通成员self关键字 在类里面代表该类 普通类class Ren ...

  8. interface接口

    当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口 interface. 定义接口使用的关键字不是class,是interface.接口中常见的成员: 这些成员都有 ...

  9. JAVA 构造器, extends[继承], implements[实现], Interface[接口], reflect[反射], clone[克隆], final, static, abstrac

    记录一下: 构造器[构造函数]: 在java中如果用户编写类的时候没有提供构造函数,那么编译器会自动提供一个默认构造函数.它会把所有的实例字段设置为默认值:所有的数字变量初始化为0;所有的布尔变量设置 ...

随机推荐

  1. MySQL 常用的sql语句小结(待续)

    mysql 常用的sql语句 1.查看数据库各个表中的记录数 USE information_schema; SELECT table_name,table_rows FROM tables WHER ...

  2. Mongodb学习笔记二(Mongodb基本命令)

    第二章 基本命令 一.Mongodb命令 说明:Mongodb命令是区分大小写的,使用的命名规则是驼峰命名法. 对于database和collection无需主动创建,在插入数据时,如果databas ...

  3. Ionic中使用Chart.js进行图表展示以及在iOS/Android中的性能差异

    Angular Chart 简介 在之前的文章中介绍了使用 Ionic 开发跨平台(iOS & Android)应用中遇到的一些问题的解决方案. 在更新0.1.3版本的过程中遇到了需要使用图表 ...

  4. 通过OnResultExecuted设置返回内容为JSONP

    public class JsonpAttribute : ActionFilterAttribute { /// <summary> /// 在执行操作结果后更改返回结果 /// < ...

  5. SVN合并代码

    分之合并主干代码, 修改冲突后提交, 更新本地代码, 主干合并分之,

  6. ORB-SLAM(二)性能

    ORB-SLAM程序提供了运行Monocular.Stereo和RGBD数据的程序.编译成功后,可以通过运行TUM的标准数据来验证程序是否成功.如果想自己测试一些数据,可以通过OpenCV提供的接口调 ...

  7. 关于分页接口设计(下拉刷新上拉加载原理,解决page count请求重复数据的问题)

  8. 创建16x16二级hash目录

    Hash目录是一种优化文件存储性能的方法.无论是Windows还是Linux,无论是NTFS还是ext4,每个目录下所能容纳的项目数是有限的.并不是不能保存,而是当项目数量过大的时候,会降低文件索引速 ...

  9. 网络基础之IPv4、网线、

    =========================================Internet是一个圈子,进去这个圈子就要有相应的身份,就像我们去篮球场打球,首先得是个"人"才 ...

  10. Android 签名证书

    Android APK的数字签名的作用和意义 http://blog.csdn.net/gaomatrix/article/details/6568191 http://jingyan.baidu.c ...