PHP 抽象类 和 interface 接口
静态:
在类里面 定义的变量 在别的地方引用的时候 只要是 静态引用 就一定要加$
普通成员 : 属于对象的
静态成员: 属于类的 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 接口的更多相关文章
- Java abstract 抽象类 和interface接口的异同点
abstract 抽象类 和interface接口的异同点 相同点: 抽象类和接口都不能实例化,他们都位于继承树顶端,被其他类实现和继承 都可以包含抽象方法,实现接口或者继承抽象类的非抽象类(普通类) ...
- 《Beginning Java 7》 - 7 - abstract class 抽象类 和 interface 接口
1. 抽象类: 为什么用抽象类: 一些 generic 的类本身并没有现实意义,所以不需要被实例化.比如动物,自然界没有动物这个物种,但却有无数的继承自动物的物种,那么动物本身可以是一个抽象类. 抽象 ...
- abstract抽象类和interface接口
一.抽象类 1.抽象类不能实例化,因为有抽象方法未实现 2.可以被抽象类或非抽象类继承 3.但不是只能被继承,还可以直接拿来使用的,当然,这个使用是拿来声明,反例如下: public abstract ...
- 抽象类,interface接口,接口和继承的区别
一.抽象类 需要抽象类的原因:父类方法不确定性的问题.考虑将该方法设计为抽象(abstract)方法所谓抽象方法就是没有实现的方法.所谓没有实现就是指,没有方法体.当一个类中存在抽象方法时,需要将该类 ...
- JAVA的abstract修饰符 && 接口interface用法 && 抽象类和interface的差别
abstract修饰符可以修饰类和方法. (1)abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型(见后面实例),也就是编译时类型.抽象类就相当于 ...
- 抽象类 abstract 和 接口 interface 类的区别
在看一些框架的优秀改良时,都会设计一层base层,并且 base里面一般都是 abstract 类,然后 就找了为什么做的原因.发现: PHP5支持抽象类和抽象方法.抽象类不能直接被实例化,你必须先继 ...
- php部分---面向对象静态、抽象类、oop接口、加载类、魔术方法、关键字。
静态 static关键字 普通成员普通成员是属于对象的 静态成员静态成员是属于类的 普通方法里面可以调用静态成员静态方法里面不能调用普通成员self关键字 在类里面代表该类 普通类class Ren ...
- interface接口
当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口 interface. 定义接口使用的关键字不是class,是interface.接口中常见的成员: 这些成员都有 ...
- JAVA 构造器, extends[继承], implements[实现], Interface[接口], reflect[反射], clone[克隆], final, static, abstrac
记录一下: 构造器[构造函数]: 在java中如果用户编写类的时候没有提供构造函数,那么编译器会自动提供一个默认构造函数.它会把所有的实例字段设置为默认值:所有的数字变量初始化为0;所有的布尔变量设置 ...
随机推荐
- 扩展 DbUtility (1)
本文原始路径: https://www.zybuluo.com/Ivony/note/14074 前言 DbUtility v3 是一个开源的轻量级数据库访问框架,源代码通过 Apache 协议发布, ...
- RTC时钟
1.设置时间之前取消备份区域(BKP)写保护 主要有两部分组成 1.用来和APB1总线对接,对其进行读写操作 2. 预分频模块:在RTC_CR设置相应的允许,位每个TR_CLK周期中RTC产生一个中断 ...
- 【knockout】ko绑定click事件传多个参数,
源:http://knockoutjs.com/documentation/event-binding.html <a href="javascript:;" class=& ...
- php根据地址的经纬度查询周围的城市例子
目前的工作是需要对用户的一些数据进行分析,每个用户都有若干条记录,每条记录中有用户的一个位置,是用经度和纬度表示的.还有一个给定的数据库,存储的是一些已知地点以及他们的经纬度,内有43W多条的数据.现 ...
- spring mvc 项目聚合
创建一个maven 项目当父项目 创建时选择默认就可以 创建完成后 修改 pom.xml文件 把 packaging 的war改为pom <modelVersion>4.0.0</ ...
- Javascript和HTML:
JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标 ...
- .NET DateTime 显示格式
备注 format 参数应包含单个格式说明符 (请参阅 标准日期和时间格式字符串) 或自定义格式模式 (请参阅 Cadenas con formato de fecha y hora pers ...
- JavaScript中的正则表达式(终结篇)
JavaScript中的正则表达式(终结篇) 在之前的几篇文章中,我们了解了正则表达式的基本语法,但那些语法不是针对于某一个特定语言的.这篇博文我们将通过下面几个部分来了解正则表达式在JavaScri ...
- 面试题目——《CC150》栈与队列
面试题3.1:描述如何只用一个数组来实现三个栈. 方法1:固定分割 方法2:弹性分割(较难) package cc150; public class ArrayStack { public stati ...
- C++11的enum class & enum struct和enum
C++11的enum class & enum struct和enum C++标准文档--n2347(学习笔记) 链接:http://www.open-std.org/jtc1/sc22/wg ...