zoukankan      html  css  js  c++  java
  • php 面向对象封装和继承

    面向对象的封装性:
    1,就是把对象的成员(属性,方法)结合成一个独立的相同单位,并尽可能隐藏对象的内部细节
    public protected
    private 私有的,用这个关键字修饰的成员,只能在对象内部访问(只有用$this访问),不能在对象外部使用
     
    属性可以封装:
    只要一个变量,需要在多个方法使用,就将这个变量声明为成员属性,可以直接在这个对象中的所有方法中使用。成员属性,就相当于这个对象中的全局变量。成员属性都会在方法中使用,成员属性值的变化其实就是在改变方法的执行行为,也就是改变了对象的功能,成员属性的值如果不正常,方法执行的功能也就不正常了。
    作用:不需要在对象外部改变或读取它的值,可以在类中提供一个公有的方法,经过方法对象就可以对成员属性进行赋值和取值等操作。
     
    方法也可以封装:
    使用private修饰使其只能在内部使用,只要留几个对外方法就可以了!
     
    和封装有关的魔术方法:
    __set():是直接设置私有成员属性值时,自动调用的方法
    __get():是直接获取私有成员属性值时,自动调用的方法
    __isset():查看对象中私有属性是否存在时自动调用这个方法
    __unset():直接删除对象中私有属性时,自动调用的方法
     
    继承
    1.PHP 对象模型使用了继承。继承将会影响到类与类,对象与对象之间的关系。

    比如,当扩展一个类,子类就会继承父类所有公有的和受保护的方法。除非子类覆盖了父类的方法,被继承的方法都会保留其原有功能。

    继承对于功能的设计和抽象是非常有用的,而且对于类似的对象增加新功能就无须重新再写这些公用的功能。

    2.php中是单继承,有且只能有一个父元素

    PHP中使用extends单一继承的方法

    PHP的构造函数可以被继承,但是如果子类也定义了构造函数,则父类的被覆盖

    子类中将父类的函数进行重新的定义,叫重写
  • 相关阅读:
    splunk linux安装
    [读书笔记]-时间管理-把时间当做朋友
    [读书笔记]-技术学习-Redis
    [读书笔记]-阅读方法-王者速读法
    vuex、localStorage、sessionStorage之间的区别
    vuex的使用
    Vue常用指令总结
    vue-router参数传递
    Vue-router的基本使用
    v-on精炼
  • 原文地址:https://www.cnblogs.com/zx997/p/7189974.html
Copyright © 2011-2022 走看看