面向对象编程---笔记

机器语言:简单的二进制语言 php

  二进制:算法

   0000 加载;0001 存储;编程

汇编语言:用特定的符号表明的指令设计模式

  Load  加载缓存

  store 存储 网络

  解决问题的过程:面向过程数据结构

对象:世界万物皆为对象,一切不可见的事物也是对象函数

 

对象组成:学习

一、元素部分:构成(至关于对象的数据模型,用于描述对象的数据信息,另称为对象的属性或者对象的成员变量)this

 

 2、行为部分:做用(对象的行为模型,用于描述对象能够作什么,又被称为对象的方法)

 

对象的特色:

一、每个对象都是一个特定的事物,职能是完成特定的职能,每个对象都是独一无二的,每个对象都是能够重复使用的。

 

面向对象:

就是在编程的时候,始终把对象放在心上

 

普通方法须要对象来调用,须要绑定$this,普通方法必需要有对象,让对象来调用

静态方法不属于对象,所以不须要绑定$this,也就是说静态方法不须要对象也能够调用

 

面向对象的编程:

就是在编程的时候,数据结构都经过对象的形式(属性、方法)存储

 

为何要学习面向对象:

一、对象的描述方式更加贴合真实的世界,有利于大型业务的理解

二、在程序设计的过程当中,用对象的视角分析世界的时候,可以拉近程序设计和真实世界的距离。

 

面向对象的实质:

把生活中要解决的问题,都用对象的方式(属性、方法)进行存储。

 

面向对象的基本思路:

一、识别对象

二、识别对象的属性

三、识别对象的行为

 

面向对象的基本原则:

高内聚:

1、对象只负责一条特定的职能,这件职能可大可小

2、全部对象相关的内容,都封装到对象内部

低耦合:

一、外部世界只能够看到对象的一些属性,并不是所有

二、外部世界能够看到对象能够作某些事情,并不是所有

 

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

1、面向过程经过步骤来划分

2、面向对象是经过功能来划分

 

面向对象的优势:容易维护、开发效率高

 

类:

物以类聚,把具备类似特性的对象归类到一个类中。类,定义了这些类似对象,拥有着相同的属性和方法。类,是类似对象的描述,称为类的定义,类的对象成为类的一个实例,类的属性和方法统称为类的成员。

 

面向对象的三大特色

封装:把客观的事物封装成抽象的类,而且类能够把本身的数据和方法只让可信的类或者对象来操做,对不可信的进行信息隐藏

 

继承:子承父类,继承以后,上一个类的东西能够任意调用

一、父类中定义的类成员能够不用再子类中重复定义,节约了变成的时间和代价

二、同一个父类的子类,拥有相同的父类定义的类成员,所以外部调用他们的时候能够一视同仁

三、子类能够修改和调整父类定义的类成员,咱们称之为重写,一旦子类重写了,就会按照重写后的执行

多态:对相同的行为作出不一样的反应

 

成员变量就是实例化类的一部分,至关于对象的组成部分。

$this是PHP里面的伪变量表示对象自身,能够经过$this->的方式,来访问对象自己的属性和方法

 

类常量:

1、属于类自身,不属于对象实例,不能经过对象实例来访问

2、类常量不能用public、protected、private、static(访问控制)来访问。

3、子类能够重写父类中的常量、能够经过parent::的方式来调用父类中的常量。

4、常量的值只能是标量string、bool、int、float、nul

 

访问控制:

Public:共有的类成员能够在任何地方访问

Private:私有的类成员,只能被类本身自己访问

Protected:受保护的类成员,能够被自身和他的子类访问

 

接口:

就是把不一样类的共同的行为进行了定义,而后在不一样的类里面实现不一样的功能interface,一旦某个类实现了某个接口,那么就必须实现接口中定义的方法。

 

某一个类继承类和继承接口的区别:

一、实现接口和继承类很是类似,可是接口不能直接建立本身的对象

二、继承的父类必须有该方法的实现,子类能够重写父类的方法也能够不重写

三、接口里面的方法不须要具体实现,只要定义了方法名称和参数就能够,具体的实现必须在实现类里定义。类的方法必须有实现,接口的方法必须为空。

 

抽象类:

任何一个类,若是它里面至少有一个方法是是被声明为抽象的,那么那就必须声明为抽象类,抽象类不能被实例化,被定义为抽象的方法,只是声明了他的调用方式,不能定义他具体的功能实现,继承一个抽象类的时候,子类必须定义父类中全部的抽象方法。

PHP设计模式:

工厂模式、单例模式、注册树模式、适配器模式、策略模式、数据对象映射形式、观察者模式、原型模式、装饰器模式、迭代器模式、代理模式

 

 

面向对象设计模式:

策略模式、工厂模式、单例模式、观察者模式。

观察者模式:当一个对象的状态发生了改变时,以来于他的对象所有会收到通知而且自动更新。观察者模式实现了低耦合、非侵入式的通知与更新机制

一个事件发生后要执行一连串的更新操做,传统的编程方式就是在事件的代码后面直接加入处理逻辑,当更新的逻辑增多以后,代码会变得难以维护,这种方式是耦合的,侵入式的,若是要增长新的逻辑须要修改事件主题的代码,因此观察者模式实现了低耦合,非侵入式的通知与更新机制

单例模式:

将构造函数声明成私有的形式、声明一个静态方法来实例化本身、声明一个私有的或者受保护的属性、判断当前的属性有没有调用成功、在设定好的工厂模式中调用单例方法。

策略模式:

将一组特定的行为和算法封装成类,以适应某些特定的上下文环境。

Smarty:

 

比较好的视图引擎

基于该引擎开发出的模板要更贴近标准的HTML、语法简单易懂、良好的缓存机制、扩展性良好、网络资源多

 

常见的视图引擎:

Smarty phpLIB

 

什么是smarty:

smarty是使用PHP写出来的模板引擎,是目前世界上最著名的PHP模板引擎之一,他分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将本来与HTML混在一块儿的PHP代码逻辑分离

 

smarty的特色:

一、速度快(相对于其余的模板引擎)

二、编译型(采用smarty编写的程序在运行时要编译成一个非模板技术的PHP文件)

三、缓存技术(它能够将用户最终看到了HTML文件缓存成一个静态的HTML文件)

四、插件技术(smarty能够自定义插件)

 

不适合smarty的地方:

正由于smarty缓存技术,使得它不太适合那些对实时性要求比较高的

 

官网:http://www.smarty.net

 

Smarty 插件

Function 函数插件

Mondifiers 修饰插件

Block function 区块函数插件

 

 

一、引入主文件

二、实例化主文件的类

三、开启smarty配置

 

MVC:

M: modle 模型(数据处理)

V:view 视图(页面显示)

C:controller 控制层(业务逻辑)

 

C实现业务逻辑或者思路拿着C层的参数请求M层在M层作数据处理,将值返回C层,最后C层把数据显示到V层操做

 

入口文件:

相关文章
相关标签/搜索