面向对象

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

  面向对象:

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. .NET/ASP.NET MVC Controller 控制器(IController控制器的创建过程)

    阅读目录: 1.开篇介绍 2.ASP.NETMVC IControllerFactory 控制器工厂接口 3.ASP.NETMVC DefaultControllerFactory 默认控制器工厂 4 ...

  2. 带你一步步的了解“C#事件”机制

    是什么 本文讨论类型中定义的最后一种成员:事件 定义了时间成员的类型允许类型通知其他对象发生了特定的事情. 具体的说,定义了时间成员的类型能提供以下功能: 方法能登记它对事件的关注 方法能注销它对事件 ...

  3. 安装mysql后的基本配置

    1.添加环境变量 右键 此电脑->属性->高级系统设置->环境变量,在系统变量里面找到Path,双击.点击编辑,将mysql中bin文件的路径添加到最后一行,如:F:\AppSev\ ...

  4. 安装Ubuntu的那些事儿(续)

    由于我的第一篇Blog并没有给出完全解决进Ubuntu系统时显卡所造成的问题,至于那个装显卡驱动的方法本人也没有去做,感兴趣的朋友可以在网上教程试一试. 至于我的那个在高系选项中进行配置也不是好的方法 ...

  5. 【小白的CFD之旅】15 四种境界

    天气不错,小白一大早就起床了,吃过早餐就往奔实验室而去.路上碰到了同去实验室的小牛师兄. "小白,这么早啊",小牛师兄老远就发现了小白,打招呼道. "早啊,牛师兄,刚吃完 ...

  6. TFS修改项目名称

    引言 如何让TFS管理的项目更名后不丢失修改历史记录? 在工作中有时由于前期考虑不足,某个Project的名字在项目开发过程中需要修改以更准备表达它的功能.本文就对此进行抛砖引玉 操作 在Source ...

  7. 374&375. Guess Number Higher or Lower 1&2

    做leetcode的题 We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You ...

  8. 一些工具&名词

    长期维护更新: 极光推送.个推---移动端消息推送 花生壳---外网访问内网 跳板机-堡垒机 jumpserver开源跳板机 DJANGO --- python web开发架构 Apache Shir ...

  9. Eclipse SVN图标等设置

  10. Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds...

    仰天长啸   Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds... 当启动tomcat时候出现 ...