面向对象

程序分为两种,一种是面向过程的,另一种是面向对象的。之前的学的都是面向过程的,按部就班的一步一步的按照顺序往下走。

  面向对象:

1.什么叫做对象

一切皆为对象(一个对象由一组属性和有权对这些属性进行操作的一组服务的封装体)。

2.什么叫做类

类是具有相同属性和服务的一组对象的集合。

做类

class Ren//关键字class,是用来定义类的,class后面跟类名,类名的首字母一般要大写,后面跟{}。
{
//变量和方法来描述人类的特征 //成员变量
public $name = "张三";
private $sex = "男";
//成员方法
public function Speak()//成员方法一般是public,默认的也是public。
{
echo "正在讲话";
}
}
//访问修饰符
//public代表公有的,在任何地方都可以访问的。
//protected 受保护的,只能在该类或该类的子类中访问。
//private代表私有的,只能在该类中访问。 $r = new Ren();//实例化对象,代表从类中生成一个对象。
//var_dump($r);//出现的结果中有object,代表对象。 echo $r=>name;//如果赋值就在后面加上值,如果取值就可以直接取值。 $r->name="李四";//赋值。其它语言用的是.,php用的是->。
var_dump($r);
//构造方法
class Ren
{
public $name;
public $sex; //构造方法
//function Ren($n)//构造方法的名称就是类名,要和类名一致。
function __construct($n)//更高的版统一用本用__constract($n)构造,双下划线,不再用上面的写法。
{
//注意不能直接写$sex=$n,因为sex是属于类的,是抽象的,虚拟的。而对象里面的sex是具体的,赋值要对具体对象赋值。
//this关键字,在类里面代表该对象。
$this->sex = $n;
}
public function Speak()
{
echo "正在讲话";
}
}
$r = new Ren("男");
//构造方法,始终存在,如果不写也是存在的。
var_dump($r);

构造方法有两个特殊点:

1.写法特殊

2.执行事件特殊,执行时间是在$r = new Ren();的时候就执行。

  研究类的时候,首先要看类的构造方法,因为如果使用这个类就要造对象,造对象时就会用到构造方法。看构造需不需要传参数,如果需要传参数,就写一个参数传过去把对象造出来。

析构方法:__destruct

  析构方法是在对象释放的时候执行,函数用完以后不再用了,就要从内存中释放,也是自动调用。

__tostring:可以用来输出对象

里面要有一个return

function __tostring()

{

  echo"这个类是人类";

}

10月24日上午PHP面向对象的更多相关文章

  1. 2016年10月24日 星期一 --出埃及记 Exodus 19:8

    2016年10月24日 星期一 --出埃及记 Exodus 19:8 The people all responded together, "We will do everything th ...

  2. SPSS 2019年10月24日 今日学习总结

    2019年10月24日今日课上内容1.SPSS掌握基于键值的一对多合并2.掌握重构数据3.掌握汇总功能 内容: 1.基于键值的一对多合并 合并文件 添加变量 合并方法:基于键值的一对多合并 变量 2. ...

  3. Gitbook环境搭建及制作——2019年10月24日

    1.gitbook介绍 GitBook 是一个基于 Node.js 的命令行工具,支持 Markdown 和 AsciiDoc 两种语法格式,可以输出 HTML.PDF.eBook 等格式的电子书.可 ...

  4. 10月24日下午PHP封装

    class Ren { private $name; private $sex; private $age;//年龄必须在18-50岁之间 function __construct($n) { $th ...

  5. Week7(10月24日)

    Part I:提问  =========================== 1.数据验证属性的练习. 按要求写出教室和课程的模型类. (1)教室类主键不自动增值,手工输入. (2)教室名字不超过10 ...

  6. 10月30日上午MySQL数据库的修改(从网页上实现对数据库的更改)

    从网页页面上对数据库进行更改,连接着之前做的增加.删除.查询. 1.先做一个修改页面 <body> <!--这个页面需要让用户看到一些数据,所以不是一个纯php页面,页面效果和增加页 ...

  7. 10月28日上午 PHP数据访问

    1.建一个连接(连接PHP和MYSQL) $db = new MySQLi("localhost","root","666","t ...

  8. 10月25日上午PHP继承多态

    概念:子类可以继承父类的一切 方法重写:在子类里面对父类的方法进行重写,实现自己独特的功能.特点:单继承:一个子类只能有一个父类,一个父类可以派生出多个子类.override重写(子类对父类的重写) ...

  9. 10月23日上午PHP数组

    正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo ...

随机推荐

  1. ElasticSearch大数据分布式弹性搜索引擎使用

    阅读目录: 背景 安装 查找.下载rpm包 .执行rpm包安装 配置elasticsearch专属账户和组 设置elasticsearch文件所有者 切换到elasticsearch专属账户测试能否成 ...

  2. .NET应用架构设计—重新认识分层架构(现代企业级应用分层架构核心设计要素)

    阅读目录: 1.背景介绍 2.简要回顾下传统三层架构 3.企业级应用分层架构(现代分层架构的基本演变过程) 3.1.服务层中应用契约式设计来解决动态条件不匹配错误(通过契约式设计模式来将问题在线下暴露 ...

  3. 基于php基础语言编写的小程序之计算器

    基于php基础语言编写的小程序之计算器 需求:在输入框中输入数字进行加.减.乘.除运算(html+php) 思路: 1首先要创建输入数字和运算符的输入框,数字用input的text属性,运算符用sel ...

  4. 《java JDK7 学习笔记》之对象封装

    1.构造函数实现对象初始化流程的封装.方法封装了操作对象的流程.java中还可以使用private封装对象私有数据成员.封装的目的主要就是隐藏对象细节,将对象当做黑箱子进行操作. 2.在java命名规 ...

  5. 在MySQL中,如何计算一组数据的中位数?

    要得到一组数据的中位数(例如某个地区或某家公司的收入中位数),我们首先要将这一任务细分为3个小任务: 将数据排序,并给每一行数据给出其在所有数据中的排名. 找出中位数的排名数字. 找出中间排名对应的值 ...

  6. ES5 数据属性描述符和存取描述符

    一.数据属性描述符 对象是一个属性集合,对象的基本特征是属性名(name)和属性值(value).ES5 增加了属性描述符,可以更细腻的控制属性的不同操作.属性描述符有 configurable.wr ...

  7. vim 命令详解

    vi: Visual Interface 可视化接口vim: VI iMproved VI增强版 全屏编辑器,模式化编辑器 vim模式: 编辑模式(命令模式) 输入模式 末行模式 模式转换: 编辑-- ...

  8. Azure机器学习入门(一)

    我们开始深入学习Azure机器学习的基本原理并为您开启伟大的数据科学之门.Azure 机器学习的一个重要特征就是在构建预测分析方案时,它能够方便地将开发模式集成为可重复的工作流模式.这就使得Azure ...

  9. LoadRunner录制Web协议的脚本 (by网络)

    LoadRunner录制Web协议的脚本  http://itindex.net/detail/50530-loadrunner-web-脚本

  10. 【转】40个良好用户界面Tips

    一个良好的用户界面应具有高转换率,并且易于使用.但要用户体验良好并不容易做到,下面我们整理了40个良好用户界面Tips,希望能对你有帮助! 1 尽量使用单列而不是多列布局 单列布局能够让对全局有更好的 ...