码迷,mamicode.com
首页 > Web开发 > 详细

PHP面向对象——1、基础

时间:2017-06-11 23:20:34      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:赋值   没有   amp   问题   相同属性   资源   函数名   关系   php面向对象   

[面向过程&面向对象]
* 1、专注于解决一个问题的过程。面向过程的最大特点,是由一个一个的函数去解决处理这个问题的一系列过程。
* 2、专注于由哪个对象来处理一个问题。面向对象的最大特点,是有一个个具有属性和功能的类,从类中拿到对象,进而处理问题。
*
* 【面向对象】
* 1、什么是类?
* 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念
* 2、什么是对象?
* 从类中,拿到的具有具体属性值的个体,称为对象。对象是一个具体的个体
*
* 人类,都有姓名、性别、年龄,但是这些属性都不能有具体的值。
* 张三,是人类中的一个对象!姓名张三、性别男、年龄23,将类的每一个属性具体赋值后,就成了张三这个对象。
*
* 3、类和对象的关系?
* 类是对象的抽象化!对象是类的具体化!
* 类仅仅表明这类对象有哪些属性,但是不能有具体的值,所以类是抽象的。
* 而对象,是将类的所有属性赋值后,产生的具体的个体,所有对象是具体的。
*
* 【类的声明与实例化】
* 1、如何声明一个类:
* class 类名{
* 访问修饰符 $属性[=默认值];
* [访问修饰符] function 方法(){}
* }
*
* 2、声明一个类的注意事项:
* ① 类名只能有字母数字下划线组成、开头不能是数字,必须符合大驼峰法则;
* ② 类名必须使用class修饰,类名后面一定不能有();
* ③ 属性必须要带访问修饰符,方法可以不带访问修饰符;
*
* 3、实例化对象及对象属性方法的调用?
* $对象名 = new 类名(); //()可以不带
*
* 类外部调用属性和方法:
* $对象名 -> 属性名; // 使用->调用属性时,属性名不能带$
*
* 类内部调用属性和方法:
* $this -> 属性名;
*
* 【构造函数】
* 1、什么是构造函数?
* 构造函数是类中的一个特殊函数,当我们使用new关键字实例化对象时,相当于调用了类的构造函数;
*
* 2、构造函数有什么作用?
* 实例化对象时,自动调用,用于给对象的属性赋初值!
*
* 3、构造函数的写法?
* ① 构造函数名,必须与类同名
* [public] function Person($name){
* $this -> name = $name;
* }
* ② 使用魔术方法__construct
* [public] function __construct($name=""){
* $this -> name = $name;
* }
*
*
* 4、构造函数注意事项:
* ① 第一种写法,构造函数名必须与类同名!!!!!!
* ② 如果一个类没有手写构造函数,则系统默认会有一个空参构造,因此可以使用new Person();
* 如果我们写了带参数的构造函数,则将不会再有空参构造,也就是不能直接使用new Person(); Person后面的()中的参数列表,必须符合构造函数的要求!!!
* ③ 如果两种构造函数同时存在,将使用__construct。
*
*
* 5、析构函数:__destruct():
* ① 析构函数在对象被销毁释放之前自动调用!
* ② 析构函数不能带有任何的参数
* ③ 析构函数常用于对象使用完以后,释放资源、关闭资源等!
*
*
* 6、魔术方法:
* PHP中,给我们提供一系列用__开头的函数,这些函数无需自己手动调用,会在合适的时机自动调用,这类函数称为魔术函数。
* 例如:function __construct(){} 在类new一个对象时自动调用
* function __destruct(){} 在对象被销毁时自动调用
*
* 我们要求,除了魔术方法之外,自定义的函数与方法不能使用__开头。
*
*
* 最后,一般对于功能比较复杂的类,我们会单独的写到一个类文件中。
* 类文件的命名,统一小写,使用“类名小写.class.php”的方式命名。
* 在其他文件中使用这个类时,可以用include导入这个.class.php文件。

PHP面向对象——1、基础

标签:赋值   没有   amp   问题   相同属性   资源   函数名   关系   php面向对象   

原文地址:http://www.cnblogs.com/dealblog/p/6986685.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!