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 一个接口,就必须实现接口中的所有方法(不管是否需要);如果是继承一个抽象类,只需要实现需要的方法即可。
    如果一个接口中定义的方法名改变了,那么所有实现此接口的子类需要同步更新方法名;而抽象类中如果方法名改变了,其子类对应的方法名将不受影响,只是变成了一个新的方法而已(相对老的方法实现)。
    抽象类只能单继承,当一个子类需要实现的功能需要继承自多个父类时,就必须使用接口。

  • 相关阅读:
    jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码
    javascript 中的后退和前进到上下一页
    文件IO流完成文件的复制(复杂版本主要用来演示各种流的用途,不是最佳复制方案哦)
    int ,Intege,String 三者之间的转换
    servlet生成验证码代码
    jsp servlet 的 请求转发和重定向
    struts2
    SQL连接:内连接、外连接、交叉连接。
    今天参加了聚思力面试
    进程(Process)和线程(Thread)的关系和区别
  • 原文地址:https://www.cnblogs.com/hh1137054072/p/7191521.html
Copyright © 2011-2022 走看看