OOP基础知识

1 面向过程&面向对象

    一、专一于解决一个问题的过程。面向过程的最大特色,是由一个一个的函数去解决处理这个问题的一系列过程。
    二、专一于由那个对象来处理一个问题。面向对象的最大特色,是有一个个具备属性和功能的类,从类中拿到对象,进而处理问题。php

2 面向对象

一、什么是类?
      具备相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念
 二、什么事对象?
      从类中,拿到的具备具体属性值的个体,称为对象。对象是一个具体的个体
  三、类与对象的关系?
       类是对象的抽象化!对象是类的具体化!
       类仅仅代表这类对象有哪些属性,可是不能具备具体的值,因此类是抽象的
       而对象,是将类的全部属性赋值后,产生的具体个体,全部对象是具体的函数

3 类的声明与实例化

一、如何声明一个类:
       class 类名{
           访问修饰符 $属性[=默认值];
           [访问修饰符 ]function 方法(){}
       }
   二、声明一个类的注意事项:
       ①类名以内有数字字母下划线组成,开头不能使数字,必须符合大驼峰法则
       ②类名必须使用class修饰,类名后面必定不能有();
       ③属性必需要带访问修饰符,方法能够不带访问修饰符;
   三、实例化对象及对象属性方法的调用?
       $对象名 = new 类名(); //()能够不加
    
       类外部调用属性和方法
       $对象名 -> 属性名; //使用->调用属性时,属性名不能带$
    
       类内部调用属性和方法
       $this -> 属性名;this

4 构造函数

一、什么是构造函数?
       构造函数是类中的一个特殊函数,当咱们使用new关键字实例化对象时,至关于调用了类的构造函数;
   二、构造函数有什么做用?
       实例化对象时,自动调用,用于给对象的属性赋初值!
   三、构造函数的写法?
       ①构造函数名,必须与类同名
       [public ]function Person($name){
           $this -> name = $name;
       }
       ②使用魔术方法__construct
       [public ]function __construct($name){
           $this -> name = $name;
       }
   四、构造函数注意事项:
       ①第一种写法,构造函数名必须与类同名!!!
       ②若是一个类没有手写构造函数,则系统默认会有一个空参数构造,所以可使用new Person();
          若是咱们写了带参数的构造函数,则将不会再有空参构造,也就是不能直接使用new Person(); Person后面的()中的参数列表,必须符合
   构造函数的要求!!
       ③若是两种结构函数同时存在,将使用__construct。
   五、析构函数:__destruct():
       ①析构函数在对象被销毁释放以前自动调用!
       ②析构函数不能带有参数
       ③析构函数经常使用于对象使用完之后,释放资源、关闭资源等
   六、魔术方法:
       PHP中,给咱们提供了一系列的__开头的函数,这些函数无需本身手动调用,会在合适的时机自动调用,这类函数称为魔术函数。
       例如:function __construct(){} 在类new一个对象时自动使用
                  function __destruct(){} 在对象被销毁时自动调用
     
       咱们要求除了魔术方法外,自定义的函数与方法不能使用__开头
        
    最后,通常对于功能比较复杂的类,咱们会单独的写到一个类的文件中。
    类文件的命名,统一小写,使用“类名(小写).class.php”的方式命名。
    在其余文件中使用这个类 时,能够用include导入这个.class.php文件。
   spa

相关文章
相关标签/搜索