博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP(一)OOP基础
阅读量:5079 次
发布时间:2019-06-12

本文共 1481 字,大约阅读时间需要 4 分钟。

【面向过程&面向对象】

1.面向过程:专注于解决一件事情的过程。最大的特点,是有一个个函数来实现功能需求
2.面向对象:专注于有哪一个对象来实现这个功能,最大的特点,时产生一个个具有属性和方法的类,从类中new出对象,实现具体功能
【面向对象】
1.什么是类?
具有一系列属性(特征)和方法(行为)的集合。类是一个抽象的概念
2.什么是对象?
从类中拿到具有具体属性值的个体,称为对象,对象是一个具体的实例
3.类与对象的关系
类是对象的抽象化,对象是类的具体化。
类是抽象的:类只能表明 这一类事物具有那些属性,但是不能对属性进行赋值,所以类是抽象的
对象是具体的:对象的产生,是将类中的各个属性进行具体的赋值,所拿到的个体,所以对象都是具体的
【类的声明与实例化】
1.如何声明一个类

class 类名{        访问修饰符 $属性值=[=$属性值];        [访问修饰符] function 方法名(){}}

2.声明一个类的注意事项:

①、类名只能有字母、数字、下划线组成,开头不能是数字,必须符合大驼峰法则
②、类名必须使用class修饰,类名后面不带()
③、属性名必须要使用访问修饰符,方法名可以不用访问修饰符
3.实例化对象以及属性方法的调用
$对象名 = new 类名 (); //()可以省略,但是一般不省
类外部调用的属性和方法
$对象名->属性名; //调用属性,属性名一定不能带$
$对象名->方法名;
【构造函数】
1.什么是构造函数
构造函数是类中的一个特殊函数,与类同名,当使用new关键字实例化对象时,相当于调用类中的构造函数,构造函数不需要手动调用
2.构造函数有什么作用
构造函数用于实例化对象时,自动调用并给类中的属性赋初始化值
3.构造函数的写法
①、与类同名

[public] function Person($name){        $this->name = $name;}

 

②使用魔术方法 _construct ,不要求与类同名

[public] function _construct($name){         $this->name = $name;}

4.构造函数的注意事项:

①、第一种写法,必须与类同名,大小写要完全一致
②、两种构造方法写一种即可,同时存在时 _construct生效,但是会产生严格警告
③、如果没有手动写构造函数,PHP会默认创建一个空参构造,因此,可以使用new Person()这种不传参的形式
如果手动写好构造函数,PHP讲不会默认创建空参构造,因此,实例化时的参数必须符合构造函数的要求
5.析构函数 _destruct
①、析构函数在对象被销毁之前,自动调用
②、析构函数不能有任何的参数
③、析构函数常用与对象使用完以后,释放资源、关闭资源
6.PHP中的魔术方法
PHP中给我们提供了一系列用 __开头的函数,这些函数无需用户手动调用,而是在合适的时机自动调用,这类方法称为魔术方法
例如:构造函数在类实例化时调用: 析构函数在对象销毁之前调用:
我们要求!!!自定义的函数一定不能用__开头
最后,对于一些功能复杂,代码量大而且需要频繁使用的类,我们通常会将其写到以单独的类文件中
类文件的命名,统一小写,使用"类名小写.class.php"的方式命名
在其他文件中,如果需要使用,可以使用include导入.class.php

转载于:https://www.cnblogs.com/liuqiang1109/p/7750529.html

你可能感兴趣的文章
程序集强命名的作用
查看>>
SlipStream集成安装数据库服务
查看>>
01背包问题
查看>>
Add project to working sets
查看>>
数据库学习之三
查看>>
使用spring security 2.0 和extjs 3.0实现web登录
查看>>
对本地存储的理解
查看>>
Windows环境下svn服务器的安装步骤
查看>>
lintcode 中等题:Min stack 最小栈
查看>>
lintcode :最长公共子串
查看>>
robotium重签名使用解决办法
查看>>
Oarcle 之DML
查看>>
mysql 严格模式 Strict Mode说明
查看>>
《大道至简》读后感
查看>>
Linux学习之基本操作命令
查看>>
关于三可变镜头
查看>>
ssh连接ubuntu提示连接不上的问题
查看>>
js正则笔记
查看>>
三、线程
查看>>
iOS在app内部发送邮件
查看>>