zoukankan      html  css  js  c++  java
  • 什么是封装? ----------------php中"public"类似的访问修饰符分别有什么作用?----什么是抽象?抽象的关键字以及用法----- 什么是接口?接口的关键字以及用法-------------

    什么是封装? ------------------------------------
    封装是php面向对象的其中一个特性,将多个可重复使用的函数封装到一个类里面。在使用时直接实例化该类的某一个方法,获得需要的数据
    如果是私有的方法和属性值,外部无法访问,具有一定的保护作用。

    《封装即隐藏》

    public
    当类的成员被声明为public的访问修饰符时,该成员能被外部代码访问和操作。

    private(私有的)
    被定义为private的成员,对于类内部所有成员都可见,没有访问限制。对类外部不允许访问。

    protected(受保护的)
    protected稍微有点复杂,被声明为protected的成员,只允许该类的子类进行访问。

    什么是抽象?抽象的关键字以及用法-----------------------------------


    定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。

    abstract
    一个类中至少有一个方法是抽象的,我们称之为抽象类。所以如果定义抽象类首先定义抽象方法。
    abstract class class1{
    abstract function fun1();
    ……
    }

    抽象类的几个特点:
    1、不能被实例化,只能被继承
    2、继承的派生类当中要把所有抽象方法重载才能实例化

    什么是接口?接口的关键字以及用法--------------------

    PHP 类是单继承,也就是不支持多继承,当一个类需要多个类的功能时,继承就无能为力了,为此 PHP 引入了类的接口技术。


    如果一个抽象类里面的所有方法都是抽象方法,且没有声明变量,而且接口里面所有的成员都是 public 权限的,那么这种特殊的抽象类就叫 接口 。

    implements

    class 子类 extends 父类 implemtns 接口1, 接口2, ...
    {
    ......
    }

    接口是特殊的抽象类,也可以看做是一个模型的规范。接口与抽象类大致区别如下:
    一个子类如果 implements 一个接口,就必须实现接口中的所有方法(不管是否需要);如果是继承一个抽象类,只需要实现需要的方法即可。
    如果一个接口中定义的方法名改变了,那么所有实现此接口的子类需要同步更新方法名;而抽象类中如果方法名改变了,其子类对应的方法名将不受影响,只是变成了一个新的方法而已(相对老的方法实现)。
    抽象类只能单继承,当一个子类需要实现的功能需要继承自多个父类时,就必须使用接口。

  • 相关阅读:
    CSLA服务端如何使用多线程的解决方案
    一片马蜂窝文章
    VB.NET和C#之间的语法不同比较
    [软件推荐]jQuery,JavaScript,HTML,CSS,PHP,MySQL,正则表达式 CHM帮助手册
    使用jQuery.Validate进行客户端验证
    知道AutoHotKey
    数据库设计问题
    [书籍推荐]为了自己的钱包,为了自己的时间——分享一下自己的淘书经验
    策略模式4
    SQLiteHelperSQLite帮助类
  • 原文地址:https://www.cnblogs.com/hh1137054072/p/7191521.html
Copyright © 2011-2022 走看看