面向对象

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

  面向对象:

1.什么叫做对象

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

2.什么叫做类

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

做类

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

构造方法有两个特殊点:

1.写法特殊

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

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

析构方法:__destruct

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

__tostring:可以用来输出对象

里面要有一个return

  1. function __tostring()
  2.  
  3. {
  4.  
  5.   echo"这个类是人类";
  6.  
  7. }

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. logback配置详解1

    一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文 ...

  2. Useful commmands in Gentoo

    Safe way to upgrade: emerge --sync & eix-sync emerge -avuDN --with-bdeps y --keep-going world et ...

  3. Tomcat服务无法开启,点击start不一会就变成stopped

    前天在学习J2EE方面技术时,运行一个调试示例,需要用到Tomcat服务,结果使用Myeclipse怎么也打不开服务.之后去尝试手动打开Tomcat服务也无法成功,一直弄了好几个小时.后来,问了一下隔 ...

  4. mybatis 快速入门

    1 . 定义  java实体类 User,建立user表 读者请自行完成准备工作.  User 类 有 id, name,age 属性  user  表 中 id,name,age字段  id自增长  ...

  5. 常用算法——排序(三)

    希尔排序法 希尔排序又称为缩小增量排序,也属于插入排序类的算法,是对直接插入排序的一种改进. 基本思想就是:将需要排序的序列划分为若干个较小的序列,对这些序列进行直接插入排序,通过这样的操作可使用需要 ...

  6. Hibernate组件映射

    Hibernate联合主键映射以及组件映射 在Hibernate中联合主键的形成有两种可能:一种是由多对多映射形成的,多对多映射会形成第三张表,一般来说第三张表的主键是由其他两张表的主键构成的(比如学 ...

  7. 我离baidu.com有几跳

    一.背景 最近,读了网易游戏面试经验(三) - cotyb - 博客园之后,自己尝试着在windows下tracert了一下baidu.com,结果如下图一所示,发现从tracert的结果看,似乎一直 ...

  8. 如何动态在文档中加入<script></script>写入大段js?

    <script language="javascript">var script = document.createElement("script" ...

  9. HttpUtility.UrlEncode 和Server.UrlEncode的区别,记录记录,被乱码搞晕头了。。。。。

    今天修改原来的站点,有几个session和cookies乱码问题,然后又好好看了一下关于编码这块的内容. 大概是:登录处,用session记录了一点中文内容.然后cookies也记录了一点中文内容,取 ...

  10. .Net配置中心-Zookeper版

    简介    zookeeper的基本概念和作用这里不做介绍,现在很多的公司都在使用它,说起它的作用,可能最先想到的是配置中心,可以将配置项作为一个node存储在zookeeper中,其他应用可以“关注 ...