php面向对象编程代码(php面向对象程序设计入门教程)
php面向对象编程代码
php面向对象程序设计入门教程本文实例讲述了php面向对象程序设计。分享给大家供大家参考,具体如下:
1.面向对象与面向过程的对比
面向过程:以事件为中心,分几个步骤去完成。不可扩展,html与php不分离
面向对象:自己作为指挥者,指挥别人去做。具有可扩展性,html和php代码分离
2.什么是对象?
对象:自然间形形色色存在的可以看得见的东西(其实这个也不会很准确),[在代码中表现为]由代码执行出来的效果
3.什么是面向对象?
OOP(面向对象编程)是Object-oriented programming的缩写,具有灵活性,可维护性,能为程序员开启一扇大门
软件工程的三个目标:1.重用性 2.灵活性 3.可扩展性
面向对象编程的特点:①封装 ②继承 ③多态
4.什么是类?
具有属性和方法对象的抽象的描述
5.类的定义
定义角度:
静态描述: 就是我们熟悉的变量
动态描述(对象的功能):把动态描述写成函数,在对象中声明的函数叫做方法
所有的类都是从属性 和方法 两个方面去声明,属性和方法都是类中的成员,属性我们又叫做对象的成员属性,方法又叫做对象的成员方法.
成员属性:在类中直接声明的变量. 可以使用PHP中的标量类型和复合类型,所以也可以是其他类实例化的对象,在类中使用资源和空类型(null)没有意义.
关于成员属性的初始值一般情况是不赋的,大多情况都是在实例化对象后再给相应的成员属性赋上初始值.
成员方法:在对象中声明的函数叫做方法,
上述的成员属性和成员方法和面向过程中的声明变量与函数一样,只不过多了一些关键字 public protected private等.
|
class Classname{ //成员属性 public $name ; public $age ; //成员方法 public function __construct( $name , $age ){ //方法体 $this ->name= $name ; $this ->age= $age ; } public function method(){ //方法体 //return 返回值 } |
6.类和对象的关系
类的实例化就是对象.
|
//实例化 $mod = new Classname(); |
"$变量名"是通过类创建一个对象的引用名称,后面通过这个引用来访问对象中的成员
"new"表示要创建一个新的对象
"类名称"表示新对象的类型
"参数"指定了类的构造方法用于初始化对象的值
如果类中没有定义构造方法,PHP会自动的创建一个不带参数的默认的构造方法.
一个类可以实例化对个对象,每个对象彼此独立,互不影响,属性和方法不会共享,(如同一张玻璃杯设计图,可以按照这个图制造成千上万的玻璃杯,但是一个玻璃杯被打碎的时候,其他的可没有被打碎),也就是它们同属一个玻璃杯类.
7.对象中成员的访问
对象中成员的访问就两个 成员属性 成员方法
对于成员属性也就两个操作:1:赋值操作 2.获取成员属性值的操作
|
$引用名 new 类名称([参数列表]); //对象实例化 $引用名->成员属性=值; //给成员属性赋值 echo $引用名->成员属性; //获取成员属性的值 $引用名->成员方法; //访问成员方法 |
如果对象的成员不是静态的static,那么唯一的访问形式就是"对象引用名->属性"(没有$符号),和"对象引用名->方法名()".
8.特殊的对象引用"$this"
在对象的外部我门可以实例化对象,用对象的引用来访问对象的成员.但是在对象的内部要访问对象的成员时,怎么办?难道要在内部实例化,答案是否定的.这里要引入一个特殊的对象引用"$this".
this
代表本对象,在对象内部的成员方法中访问成员要使用this代表本对象,在对象内部的成员方法中访问成员要使用this->属性 和 $this->方法.只能在成员方法中使用
9.构造方法和析构方法(魔术方法)
构造方法:
①如果声明类的时候没有显示的声明它,类中都会默认存在一个没有参数列表并且内容为空的构造方法.如果显示的声明它,那么默认的构造方法将不会存在.
②当实例化一个对象时,会被自动调用一次,就是每使用new关键字实例化一个对象,就调用一次.不能主动的通过对象的引用去调用构造方法.
③通常用来对成员属性赋初始值.
④php5以前的版本必须要方法名和类名相同
⑤同一个类只能有一个构造方法
|
public function __construct(){ //主体 } |
析构方法:
①允许在小辉衣阁对象之前执行的一些特定操作(关闭文件,释放结果集)
②没有任何参数
当堆内存中的对象失去他的访问引用时,就会被认为是垃圾对象,并进行回收.而析构方法正是在垃圾回收程序回收对象前调用的.
|
public function __destruct(){ //方法体 } |
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/bookfrank/p/6130638.html
- phpredis怎么测试成功(PHP+redis实现的限制抢购防止商品超发功能详解)
- php框架使用方法大全(PHP MVC框架中类的自动加载机制实例分析)
- php开发详细步骤(php源码的安装方法和实例)
- php 设置sessionid生成机制(PHP Cli 模式设置进程名称的方法)
- php防session劫持(使用SMB共享来绕过php远程文件包含的限制执行RFI的利用)
- php支付接口(PHP实现的支付宝支付功能示例)
- php使用yield处理并发(Yii框架中使用PHPExcel的方法分析)
- php怎么实现动态配置(php实现映射操作实例详解)
- php函数使用教程讲解学习交流(浅谈PHP中的Trait使用方法)
- linux如何安装php环境(Linux下安装Memcached服务器和客户端与PHP使用示例)
- php数据类型图解(php使用filter_var函数判断邮箱,url,ip格式示例)
- php字符串教程学习(php学习笔记之字符串常见操作总结)
- phpstudy报错(phpStudy运行帝国备份王出错解决方法)
- php实战小实例(php实现推荐功能的简单实例)
- php协议使用教程学习(php中的钩子理解及应用实例分析)
- 宝塔linux面板php7.0安装不上(宝塔面板php.ini文件在哪里找)
- 今日菜价 芥兰涨幅最高 1.33 ,花菜降幅最高 3.10(今日菜价芥兰涨幅最高)
- 今日菜价 椰菜涨幅最高 3.25 ,水空心菜降幅最高 2.58(今日菜价椰菜涨幅最高)
- 今日菜价 红三鱼涨幅最高 4.41 ,黄鳝降幅最高 5.06(红三鱼涨幅最高)
- 今日菜价 西生菜涨幅最高 6.19 ,生菜降幅最高 5.38(西生菜涨幅最高)
- 今日菜价 青豆角涨幅最高 0.70 ,菜心降幅最高 5.55(青豆角涨幅最高)
- 农村植物,龙芽草若长在您家路旁,请珍惜,它对抗癌有特效(龙芽草若长在您家路旁)
热门推荐
- 查询按照部门分组的mysql语句(Mysql根据某层部门ID查询所有下级多层子部门的示例)
- php开发api接口登录(PHP调用接口API封装的例子)
- 解忧大队es6扩展运算符(ES6扩展运算符的使用方法示例)
- js三级联动说明(基于JavaScript实现省市联动效果)
- php构成方法的关键字是(PHP中的self关键字详解)
- openssl 默认私钥类型(Windows安装Openssl并使用Openss生成公钥私钥)
- Linux ls命令的使用(Linux ls命令的使用)
- python递归深度遍历多叉树(Python实现二叉树的常见遍历操作总结7种方法)
- vueassets文件路径(vue如何根据url下载非同源文件)
- python中什么是迭代器(一篇文章彻底搞懂Python中可迭代Iterable、迭代器Iterator与生成器Generator的概)