PHP接口的概念跟接口语言与接口的应用场景

类: 是某一类事物的抽象,是某类对象的蓝图.


举例:

比如: 女娲造人时,脑子中关于人的形象 就是人类 class Human

如果,女娲决定造人---->形象又没最终定稿时,---->她脑子有哪些支离破碎的形象呢?

她可能会这么思考:

动物: 会吃饭

猴子: 会奔跑

猴子: 会哭

自己: 会思考

小鸟:会 飞

定义如下功能:

eat()

run();

cry();

think();

interface:接口

重点说明:

类如果是一种事物/【动物】的抽象

那么 接口,则是事物/动物----------【功能】的抽象,

功能各拆成小块------>自由组合成新的物种

接口的具体语法:


PHP接口的概念跟接口语言与接口的应用场景

1:以人类为, class Human 是人的草图

接口 是零件--->可以用多种零件组合出一种新物种来.

2: 如上,[接口本身]即是---------抽象的,

[内部声明的方法] 默认也是---------抽象的,不用加 abstract

3: 一个类可以一次性实现多个接口.

语法用【 implements 实现 】(把我这几个功能实现了)

class ClassName implements interface1,interface2,interface3 {

}

然后再把接口的功能给实现.

4 接口也可以继承, 用extends

5:接口是一堆方法的说明,不能加属性

6:接口就是供组装成类用的,封闭起来没有意义,因此方法只能是public

面向对象的一个观点:


做的越多,越容易犯错

抽象类{就定义类模板}--------------->具体子类实现{语言展现china,japan,english}

接口:

抽象的数据库类

举例:

----------->创业做网站:

到底用什么数据库? mysql, oracle,sqlserver,postgresql?

这样:先开发网站,运行再说.

先弄个mysql开发着,正式上线了再换数据库也不迟

----------->引来问题:

换数据库,会不会以前的代码又得重写?

答:不必,用抽象类

----------->开发者,开发时,就以db抽象类来开发.

下面这个代码有误

因为子类实现时, connect和抽象类的connect参数不一致

正确的严格的抽象类调用!

接口 就更加抽象了

比如一个社交网站,

关于用户的处理是核心应用.

登陆

退出

写信

看信

招呼

更换心情

吃饭

骂人

捣乱

示爱

撩骚

这么多的方法,都是用户的方法,

自然可以写一个user类,全包装起来

但是,分析用户一次性使不了这么方法

用户信息类:{登陆,写信,看信,招呼,更换心情,退出}

用户娱乐类:{登陆,骂人,捣乱,示爱,撩骚,退出}

开发网站前,分析出来这么多方法,

但是,不能都装在一个类里,

分成了2个类,甚至更多.

作用应用逻辑的开发,这么多的类,这么多的方法,都晕了.

PHP接口的概念跟接口语言与接口的应用场景

推荐阅读:

PHP抽象类:无法实例化

weinxin
我的微信
把最实用的经验,分享给最需要的读者,希望每一位来访的朋友都能有所收获!
avatar

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

Replies to:4   Visitors  4   Admin  0

    • avatar 工业铝型材
      Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ip2country has a deprecated constructor in /www/wwwroot/150643.com/wp-content/themes/begin/show-useragent/ip2c/ip2c.php on line 3
      来自天朝的朋友 谷歌浏览器 Windows 7 上海市 电信
      0

      又是一篇好博文 精神抖擞啊

        • avatar 开拓者博主 来自天朝的朋友 火狐浏览器 Windows 7 山东省青岛市 联通 6

          @工业铝型材 看来是来者不善啊 :eek:

        • avatar 科技博客 来自天朝的朋友 火狐浏览器 Windows 7 山东省青岛市 联通 1

          博主辛苦,整理的很全面!大赞

            • avatar 开拓者博主 来自天朝的朋友 火狐浏览器 Windows 7 山东省青岛市 联通 6

              @科技博客 感谢来访!