文档章节

【东臣php】面向对象

dzf112
 dzf112
发布于 2016/02/28 21:30
字数 1312
阅读 7
收藏 0

   总结:这一周学习了新的东西:面向对象,面向对象学起来不太好理解,再加上刚刚从家里回来,状态有点问题,上课有时会走神,希望下一周可以调整好状态,以便迎接新的挑战。


1、对象。万物皆对象,在程序的眼中,对象就是世界亦可是尘埃。

面向对象 和 面向过程的区别?

面向过程,一切的行为都是基于过程,在它的眼中只有过程好才是真的好,就像一个女孩子在乎的是每一天。

面向对象,一切的行为都是基于对象,在它的眼中只有未来或者结果,它不太在乎细节,所以在某种程度上,面向对象与面向过程是互补的,但是也是排斥的。

2、对象是怎么来的?

答: 在程序的世界里,对象都是由的类的实例化而来。简单的说就是通过一个类创建出来的。

3、什么是类?

答:在程序的世界里,属性和方法共同组成一个类。在php中,基本的写法为:

class  类名{

      里面可以加入属性 

里面也可以加入方法

}

4、请注意面向对象编程简写为: OOP。

5、面向对象有三大特性:封装、 继承、 多态。

1、封装的好处:安全

2、封装的几大关键字:public(公开的)  protected(受保护的)  private(私有的)

public :公开的,特指允许一切类来调用。

protected : 受保护的,特指允许本类和子类来调用。

private : 私有的, 特指只允许自己调用。

1、对象是由类创建而来

2、类相同,对象不相同。

3、类的基本的写法为: class  类名 {}

4、每个类都有自己的属性(变量)和行为(方法)。

5、在类中的变量可以成为类属性或者成员变量等。

6、所谓的实例化就是通过类去创建一个对象的过程。

7、在php中,类的实例化的写法为: $对象名 = new 类名();

8、在php中,调用一个对象的方法为: $对象名->方法名();

9、在对象的方法中,也有输入参数和输出参数,和普通的没有区别。

10、在类中的,可以有类属性的存在,表示方式为:

public $age = 10;

   注意:在php4.x中常用 var 代替 public 。

11、其实在本类中,也可以用$this->属性名 或者本类的属性值

12、__construct 构造函数。构造函数特指在创建对象后,立即会调用的一个函数就叫构造函数。在PHP4中 该函数一般是用于相同类名的函数名去表示一个构造函数,在PHP5中,一般用__construct表示构造函数。(常用)

13、__destruct 析构函数,一般用于在对象被销毁时,会立即调用的函数。

14、静态属性或者静态函数,一般用于直接修改类属性或者直接调用类方法,调用方式为 :: ,如:类名::类属性 , 类名::类方法。 本类请用self,注意申明为静态属性的格式为:public(作用域) static 变量名, 申请为静态函数的格式为 static function 方法名。

15、__set 魔术函数,如果设置的属性不存在,则调用这个函数。__get 魔术函数,返回这个类属性。可以判断是否存在这个类属性。

请注意:oop的编程核心就是实例化一个对象,也就是创建一个对象,那static是可以绕过对象直接去设置类属性(特指静态类属性),而abstract是特指这个类抽象类不能被实例化,但是可以通过其子类实例化。

16:继承:一般用于子类继承父类,并且可以使用父类中的所有的属性和方法。继承的关键字为 extends  一般的写法为 class 子类  extends 父类。

17、public 在继承中用处不明显,protected只能在子类里和父类里使用该属性或者方法,private 只能在本类中的使用属性或方法。

18、重写:特指子类重写父类的方法。注意:一般编译器的编译模式为先查看子类是否有被调用的这个方法,如果有则直接调用,如果没有则去查看父类的。

19、重载:特指子类重写父类的方法,但是输入参数不同。

20、抽象:抽象类不能被实例化,但是抽象类的子类可以被实例化。抽象类的关键字为: abstract

21、接口:接口的关键位 interface。如果继承这个接口就一定要实现,实现的关键字为 implements ,注意:interface中不能先具体的实现步骤,只能写接口名,实现在某个函数中。

22、克隆:__clone 。这个一般应用于将对象由浅拷贝到深拷贝的过程。深拷贝一般是创建内存空间。浅拷贝一般是直接指针引用。

23、__autoload: 一般用于当一个对象被创建会自动载入某些文件那么就用__autoload。


© 著作权归作者所有

dzf112
粉丝 0
博文 8
码字总数 6713
作品 0
嘉兴
私信 提问
黑马程序员.bobo.DAY.7

Day-7 1.面向对象(继承-概述) /* 将学生和工人的共性描述提取出来,单独进行描述,只要让学生和公认与当杜描述的这个类有关系,就可以 继承:1,提高了代码的复用性.2,让类与类之间产生了关系,才有...

BobbyLou
2015/05/14
20
0
《详解PHP面向对象》系列技术文章整理收藏

《详解PHP面向对象》系列技术文章整理收藏 1PHP面向对象之旅:类和对象 http://www.lai18.com/content/425094.html 2PHP面向对象之旅:类的属性 http://www.lai18.com/content/425093.html 3...

开元中国2015
2015/06/27
66
0
黑马程序员.bobo.DAY.5

------- android培训、java培训、期待与您交流! ---------- DAY-5 1.面向对象(概述) 1.1理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程是一种思想 面向过程 强调的功能行为 ...

BobbyLou
2015/05/14
22
0
OOA、OOD和OOP的定义及之间的关系

什么是面向对象分析(OOA)? "面向对象分析是一种分析方法,这种方法利用从问题域的词汇表中找到的类和对象来分析需求。" 什么是面向对象设计(OOD)? “面向对象设计是一种设计方法,包括面向对...

雲克
2013/01/22
7.1K
0
黑马程序员.bobo.DAY.6

/*静态:static用法:是一个修饰符,用于修饰成员(成员变量,成员函数),当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,可以直接被类名调用,类名.静态成员 static 特点:1,随着类的...

BobbyLou
2015/05/14
9
0

没有更多内容

加载失败,请刷新页面

加载更多

golang-字符串-地址分析

demo package mainimport "fmt"func main() {str := "map.baidu.com"fmt.Println(&str, str)str = str[0:5]fmt.Println(&str, str)str = "abc"fmt.Println(&s......

李琼涛
今天
4
0
Spring Boot WebFlux 增删改查完整实战 demo

03:WebFlux Web CRUD 实践 前言 上一篇基于功能性端点去创建一个简单服务,实现了 Hello 。这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD WebFlux 应用,让开发更方便。这里...

泥瓦匠BYSocket
今天
6
0
从0开始学FreeRTOS-(列表与列表项)-3

FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像。 在FreeRTOS中,列表与列表项使用得非常多,是FreeRTOS的一个数...

杰杰1号
今天
4
0
Java反射

Java 反射 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的 Class,Class 类 用于表示.class 文件(字节码)) 一、反射的概述 定义:JAVA 反射机制是在运行状态中,对于任...

zzz1122334
今天
5
0
聊聊nacos的LocalConfigInfoProcessor

序 本文主要研究一下nacos的LocalConfigInfoProcessor LocalConfigInfoProcessor nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/impl/LocalConfigInfoProcessor.java p......

go4it
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部