【面向过程&面向对象】
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

PHP(一)OOP基础的更多相关文章

  1. 面向对象(OOP)--OOP基础与this指向详解

      前  言            学过程序语言的都知道,我们的程序语言进化是从“面向机器”.到“面向过程”.再到“面向对象”一步步的发展而来.类似于汇编语言这样的面向机器的语言,随着时代的发展已经逐 ...

  2. Ext OOP基础

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 面向对象编程(OOP)基础之UML基础

    在我们学习OOP过程中,难免会见到一些结构图~各种小框框.各种箭头.今天小猪就来简单介绍一下这些框框箭头的意思——UML. UML定义的关系主要有:泛化(继承).实现.依赖.关联.聚合.组合,这六种关 ...

  4. oc中的oop基础及类的基本介绍

    面向对象的(OOP)的基础知识 类(class):表示一组对象数据的结构体,对象通类来得到自身.类名首字母大写. 对象(objcet):是一种包含值和指向其类的隐藏指针的结构体.运行中的程序中通常会有 ...

  5. C#语言-04.OOP基础

    a. OOP:面对对象思想 i. 类:是一种功能强大的数据类型,而且是面向对象的基础 . 语法:访问修饰符 class 类名{ //类的主体 } . 成员变量:不以“函数”形式体现 a. 常量:代表与 ...

  6. JAVA OOP 基础知识提纲

    OOP: 面向对象: 认识事物的一个过程,是整体(特征/行为) 认识事物的方式.人类认识事物的自然思维习惯. 对象及类 对象是实实在在具体存在的东西,主要是从两个角度(行为,特征)去观察 类:是一组具 ...

  7. js基础例子dom+原型+oop基础知识记录01

    //oo:概念是计算机中对于现实世界的理解和抽象的方法 //由计算机利用编程技术发展到现在的产物 //面向对象几要素 //对象:由属性和方法组成的集合 //属性:保存数据,存储在对象内存空间中的唯一的 ...

  8. JavaScript面向对象(一)——JS OOP基础与JS 中This指向详解

      前  言 JRedu 学过程序语言的都知道,我们的程序语言进化是从"面向机器".到"面向过程".再到"面向对象"一步步的发展而来.类似于 ...

  9. 图说OOP基础(一)

    本文用图形化的形式描述OOP的相关知识.对OOP进行系统化的梳理,以便掌握,仅供学习分享使用,如有不足之处,还请指正. 涉及知识点: OOP的相关知识 OOP知识总图 [Object-Orientat ...

  10. 【转载】图说OOP基础(一)

    本文用图形化的形式描述OOP的相关知识.对OOP进行系统化的梳理,以便掌握. 涉及知识点: OOP的相关知识 OOP知识[Object-Orientation Programming 面向对象编程]总 ...

随机推荐

  1. Minutes和TotalMinutes的区别

    今天测试提了一个BUG,说是消息提醒的时机不对,设置的提前2小时,还没到就提醒了. 看了下代码 (m.ExpectReceiveTime - DateTime.Now).Minutes < (p ...

  2. 在JavaScript中使用json.js:使得js数组转为JSON编码

    在json的官网中下载json.js,然后在script中引入,以使用json.js提供的两个关键方法. 1.数组对象.toJSONString() 这个方法将返回一个JSON编码格式的字符串,用来表 ...

  3. 大牛教你用3行HTML代码卡死一台机器

    前言 学习web渗透测试等安全工作的朋友们,想必大部分接触的最早的就是HTML了. 其实学过html的朋友们都知道,html中可以插入JavaScript代码,而对于JavaScript代码,这里就不 ...

  4. 用ESP8266+android,制作自己的WIFI小车(Android 软件)

    先说一下这篇文章里面的内容:TCP 客户端, 自定义对话框, 自定义按钮, ProgressBar竖直显示, 重力感应传感器,手机返回键新开启界面的问题(返回上次的界面),数据保存 软件的通信是配合 ...

  5. Windows下Apache添加SSL模块

    参考资料:http://www.yuansir-web.com/2011/05/12/hello-world/测试环境:windows2003 32位 + Apache2.4 + PHP5.4 一.准 ...

  6. nodejs后台集成富文本编辑器(ueditor)

    1 下载ueditor nodejs版本 2 复制public目录下面的文件 到项目静态资源public文件夹下 3 在项目根目录创建ueditor文件夹 要复制进来的内容为 4 在根目录的 uedi ...

  7. 《深入浅出WPF》笔记——绘画与动画

    <深入浅出WPF>笔记——绘画与动画   本篇将记录一下如何在WPF中绘画和设计动画,这方面一直都不是VS的强项,然而它有一套利器Blend:这方面也不是我的优势,幸好我有博客园,能记录一 ...

  8. Sqoop1.99.7将MySQL数据导入到HDFS中

    准备 本示例将实现从MySQL数据库中将数据导入到HDFS中 参考文档: http://sqoop.apache.org/docs/1.99.7/user/Sqoop5MinutesDemo.html ...

  9. adb获取Android性能数据

    环境:Android测试环境 搭建Android测试环境: 1.下载AndroidSDK: 2.配置环境变量: (1).ANDROID_HOME (2).ANDROID_HOME-TOOLS (3). ...

  10. win10 uwp 获得焦点改变

    本文讲的是当我们应用失去焦点时,我们获得事件,当我们应用获得焦点,同样获得事件.同时,在应用不可以见时,我们也可以获得. 上面一张图,开始是应用启动,获得焦点,应用显示.然后我们打开另一个应用,切换, ...