zoukankan      html  css  js  c++  java
  • PHP之面向对象(下)

    1,类的创建  class

        

    2,对象的创建  new关键字

        

    3,成员的添加  修饰符

        添加成员需要三个修饰符

        public  公开的

             定义公共的属性和方法,类的外部,内部,子类都可以使用

        protected  受保护的

              定义受保护的属性和方法,只能在类的内部,子类使用

        private  私有的

             定义私有的属性和方法,只能在自身的类使用

        成员如果前面不加修饰符,默认public

    4,成员的调用  —〉

          

    5,特殊对象  $this

        $this指向实例化对象,如果类的方法里想使用类的属性和方法,需使用$this

          

    6,构造方法  function __construct()

        构造函数在实例的时候系统会自动调用

          

    7,析构方法 function __destruct()

         我们每次new实例化,系统就会给这个对象分配一个内存空间,

        如果不销毁,系统压力会很大,系统有一个析构方法 __destruct 对象实例化之后系统会自动调用。

        内存销毁的原则是先进后销。

           

    8,成员赋值

         

     9,继承

        

    10,常量  const

        可以把在类始终保持不变的定义为常量,在定义时不带$

        使用常量时不能用$this,使用范围解析符(类名、self):: 常量

          

        子类想访问父类的常量,使用parent::常量

          

    11,静态变量  static

        静态属性可以通过一个类已实例化的对象来访问

        访问方法:类名::$变量名

          

    12,重载 覆盖  final

        子类继承父类的方法时,如果子类有和父类同名的方法,从父类那继承来的方法就会被覆盖,这叫重载

         如果在父类的前面加上final,则子类无法重载父类的方法,会报错

          

    13,调用父类的构造方法  parent ::construct()

         PHP不会再子类的构造方法中自动调用父类的构造方法,

        要执行父类的构造方法,需要在子类的构造方法中调用parent ::construct()

          

    14,对象克隆  clone

        赋值一模一样的对象,但是二者不是同一个对象,指的不是同一个内存地址

          

    15,关键字   parent

        在继承中的子类,有这个parent

        访问父类的常量,父类的方法,父类的静态属性,属性成员不能访问

          

    16,关键字  final-不可重载的

        如果写在类前面,代表这个类不能被继承

        如果写在类的方法和属性前面,说明这个方法,属性不能被重载

          

    17,抽象类  abstract

        如果项目经理需要对所有的子类进行规范,就是说成员必须有,且必须有那些名字,就得使用抽象类概念

        1,抽象类不能被实例化

        2,如果有一个类里面有一个方法被声明为抽象类了,这个类就得声明为抽象类

        3,只要这个方法被声明为抽象方法了,就不能写函数体,将函数后面的{}去掉,函数体由子类实现

        4,在继承一个抽象类的时候,子类必须定义父类中的所有抽象方法,不是抽象方法,子类不可以去定义

           

      接口  interface

        用于和抽象类差不多,为了一些规范

        1,使用interface关键字定义接口,接口在方法都是空的,没有函数体

        2,接口中所以方法都是public

        3,使用implements这个操作符

        4,一个类可以实现多个接口,接口与接口之间要用逗号隔开

        5,接口和接口之间方法尽量不要重名,如果重名了,那么参数要保持一致

           

      抽象类和接口的区别:

        1,接口使用implements 而抽象类使用extends 实现

        2,接口中只能申明公有的方法  抽象类属性  常量 方法 都可以申明

        3,接口没有构造函数 抽象类有

        4,接口可以实现多个接口 但是抽象类只能继承一个

    18,面向对象三大特征

        封装----

          对外只是提供可操作的接口(指方法),对内的数据操作不可见

        继承---

          子类可以继承父类的属性和方法,但是有限继承,

          public protected private 修饰的属性可以继承 protected public 修饰的方法 子类可以继承 

          父类的常量也可以继承。

        多态---

          php没有多态,因为php是弱类型语言,不会对变量提前进行类型申明,但是有重载

          重载---父类和子类 方法相同 子类会覆盖父类的方法

     

  • 相关阅读:
    免费的asp.net空间
    利用instr()函数防止SQL注入攻击
    Dreamweaver中sql注入式攻击的防范
    编写通用的ASP防SQL注入攻击程序
    跨站式SQL注入技巧
    防范Sql注入式攻击
    PHP与SQL注入攻击
    SQL注入攻击的原理及其防范措施
    SQL注入法攻击一日通
    SQL Server应用程序中的高级SQL注入
  • 原文地址:https://www.cnblogs.com/xiaotaiyangye/p/10679918.html
Copyright © 2011-2022 走看看