• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
车车大人
博客园    首页    新随笔    联系   管理     

面向对象编程---笔记

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

  二进制:

   0000 加载;0001 存储;

汇编语言:用特定的符号代表的指令

  Load  加载

  store 存储

  解决问题的过程:面向过程

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

 

对象组成:

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

 

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

 

对象的特点:

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

 

面向对象:

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

 

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

静态方法不属于对象,因此不需要绑定$this,也就是说静态方法不需要对象也可以调用

 

面向对象的编程:

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

 

为什么要学习面向对象:

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

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

 

面向对象的实质:

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

 

面向对象的基本思路:

1、识别对象

2、识别对象的属性

3、识别对象的行为

 

面向对象的基本原则:

高内聚:

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

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

低耦合:

1、外部世界只可以看到对象的一些属性,并非全部

2、外部世界可以看到对象可以做某些事情,并非全部

 

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

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

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

 

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

 

类:

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

 

面向对象的三大特点

封装:把客观的事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象来操作,对不可信的进行信息隐藏

 

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

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

2、同一个父类的子类,拥有相同的父类定义的类成员,因此外部调用他们的时候可以一视同仁

3、子类可以修改和调整父类定义的类成员,我们称之为重写,一旦子类重写了,就会按照重写后的执行

多态:对相同的行为做出不同的反应

 

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

$this是PHP里面的伪变量表示对象自身,可以通过$this->的方式,来访问对象本身的属性和方法

 

类常量:

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

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

3、子类可以重写父类中的常量、可以通过parent::的方式来调用父类中的常量。

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

 

访问控制:

Public:共有的类成员可以在任何地方访问

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

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

 

接口:

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

 

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

1、实现接口和继承类非常相似,但是接口不能直接创建自己的对象

2、继承的父类必须有该方法的实现,子类可以重写父类的方法也可以不重写

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

 

抽象类:

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

PHP设计模式:

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

 

 

面向对象设计模式:

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

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

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

单例模式:

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

策略模式:

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

Smarty:

 

比较好的视图引擎

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

 

常见的视图引擎:

Smarty phpLIB

 

什么是smarty:

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

 

smarty的特点:

1、速度快(相对于其他的模板引擎)

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

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

4、插件技术(smarty可以自定义插件)

 

不适合smarty的地方:

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

 

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

 

Smarty 插件

Function 函数插件

Mondifiers 修饰插件

Block function 区块函数插件

 

 

1、引入主文件

2、实例化主文件的类

3、开启smarty配置

 

MVC:

M: modle 模型(数据处理)

V:view 视图(页面显示)

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

 

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

 

入口文件:

 

 

 

通往牛逼的路上,在意的只有远方!
posted @ 2018-06-04 10:10  车车大人  阅读(323)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3