PHP中的 抽象类abstract和 接口类interface的区别
来源:互联网 发布:漂亮的ava女演员 知乎 编辑:程序博客网 时间:2024/05/21 15:40
一、
1
2
3
- abstract
class A - {
-
-
protected $value1 = 0; -
private $value2 = 1; -
public $value3 = 2; -
-
public function my_print() -
{ -
echo "hello,world/n"; -
} -
-
abstract protected function abstract_func1(); -
abstract protected function abstract_func2(); - }
- abstract
class B extends A - {
-
public function abstract_func1() -
{ -
echo "implement the ;abstract_func1 in class A/n" -
} -
-
//abstract protected function abstract_func2(); - }
- class
C extends B - {
-
public function abstract_func2() -
{ -
echo "implement the ;abstract_func2 in class A/n" -
} - }
4
- Class
B extendsA{};
那么程序将出现以下错误:
- Fatal
error: abstractClass B contains 1 method andmust abstracttherefore be declared or implement the remaining methods (A::abstract_func)
5
(1)
(2)
(3)
二、
1
2
- interface
iA - {
-
const AVAR=3; -
public function iAfunc1(); -
public function iAfunc2(); - }
- echo
iA:: AVAR;
3
- class
E implementsiA - {
-
public function iAfunc1(){ echo"in iAfunc1" ;} -
public function iAfunc2(){ echo"in iAfunc2" ;} - }
否则该类必须声明为
- abstract
class E implementsiA{}
4
- interface
iB - {
-
public function iBfunc1(); -
public function iBfunc2(); - }
- class
D extendsA implementsiA,iB - {
-
public function abstract_func1() -
{ -
echo "implement the ;abstract_func1 in class A/n" -
} -
public function abstract_func2() -
{ -
echo "implement the ;abstract_func2 in class A/n" -
} -
public function iAfunc1(){ echo"in iAfunc1" ;} -
public function iAfunc2(){ echo"in iAfunc2" ;} -
public function iBfunc1(){ echo"in iBfunc1" ;} -
public function iBfunc2(){ echo"in iBfunc2" ;} - }
-
- class
D extendsB implementsiA,iB - {
-
public function abstract_func1() -
{ -
parent::abstract_func1(); -
echo "override the ;abstract_func1 in class A/n" -
} -
public function abstract_func2() -
{ -
echo "implement the ;abstract_func2 in class A/n" -
} -
public function iAfunc1(){ echo"in iAfunc1" ;} -
public function iAfunc2(){ echo"in iAfunc2" ;} -
public function iBfunc1(){ echo"in iBfunc1" ;} -
public function iBfunc2(){ echo"in iBfunc2" ;} - }
5
- interface
iC extendsiA,iB{} - class
F implementsiC - {
-
public function iAfunc1(){ echo"in iAfunc1" ;} -
public function iAfunc2(){ echo"in iAfunc2" ;} -
public function iBfunc1(){ echo"in iBfunc1" ;} -
public function iBfunc2(){ echo"in iBfunc2" ;} - }
三、
1.
(1)
(2)
2.
(1)
(2)
(3)
(4)
(5)
(6)
(7)
3.interface
(1)
(2)
(3)
(4)
4. abstractclass
一句话,在既需要统一的接口,又需要实例变量或缺省的方法的情况下,就可以使用它。最常见的有:
(1)
(2)
(3)
- PHP中的 抽象类abstract和 接口类interface的区别
- interface,abstract class,abstract interface Java中的接口,抽象类和抽象接口的异同
- interface接口和abstract抽象类的区别和联系
- PHP 的 抽象类 abstract 和 接口 interface
- 抽象类(abstract)和接口(interface)的区别
- 抽象类(abstract)和接口(interface)的区别
- 抽象类(abstract)和接口(interface)的区别
- 抽象类(abstract)和接口(interface)的区别
- 抽象类(abstract class)和接口(interface)的区别?
- 抽象类(abstract)和接口(interface)的区别
- 抽象类(abstract)和接口(interface)的区别
- 抽象类(abstract)和接口(interface)的区别
- abstract,以及abstract抽象类与interface接口的区别
- 抽象类中的abstract和interface的区别
- 什么是接口?接口有哪些好处,抽象类(abstract)和接口(interface)的区别
- abstract抽象类和interface接口类区别?
- abstract抽象类与interface接口区别
- Java 接口(interface)和抽象类(abstract class)区别
- 浅谈Django中的mptt
- 1051. Pop Sequence (25)
- LeetCode.102 Binary Tree Level Order Traversal
- Android源码基础解析之Activity销毁流程
- 记忆网络之End-To-End Memory Networks
- PHP中的 抽象类abstract和 接口类interface的区别
- 【Power Designer】反向工程生成类图
- 理解spark闭包
- leetcode--136--Longest Substring Without Repeating Characters
- ijkPlyer学习 ------ Demo运行
- ajax笔记
- Shell中的${}、##和%%使用范例
- jdk各版本特性速记
- java配置环境变量