面向对象概述.docx
- 文档编号:3821853
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:17
- 大小:397KB
面向对象概述.docx
《面向对象概述.docx》由会员分享,可在线阅读,更多相关《面向对象概述.docx(17页珍藏版)》请在冰豆网上搜索。
面向对象概述
昨日回顾
事务
事务就是现实的一件事,现实的一件可能多步组成,体现MySQL就可能由多条SQL来实现。
MySQL分两类:
自动事务,绝大多数情况下执行的SQL都是单条的,涉及不到事务。
每发送一条SQL,DBMS会接收,执行,并对数据库产生影响(将数据写到DB)
手动事务
starttransaction
--组成事务的sql
.....
commit;或者rollback;
savepoint设置回滚点
rollbackto回滚点名
触发器
创建:
createtriggernamebefore|afterinsert|update|deleteontabnameforeachrow
begin
--触发器的SQL
end;
showtriggers;
触发器的记录
oldnew
insertnull新记录
update旧记录新记录
delete旧记录null
获取old与new保存储的记录的字段信息:
old或new.字段名
变量:
系统变量:
showvariables【likepattern】;
查看单个系统变量的值:
select@@变量名;
设置
进程级。
set变量名=值或set@@变量名=值;
全局级
setglobal变量名=值
函数:
创建:
createfunctionfunName(变量名类型,变量名类型...)returns返回值的类型
begin
--函数体
return值;
end;
函数里不可以使用select,必须有return
函数的调用
selectfunName(实参);
查看函数:
showfunctionstatus;
存储过程:
创建:
createprocedureproName(方向变量类型)
begin
--过程体
end;
方向:
in只能接收传递进来的数据,不能将数据传递出去
out不能接收传递进来的数据,但能将数据传递出去
inout即能接收传递进来的数据,也能将数据传递出去
存储过程可以使用select
权限管理
创建用户:
createuser'用户名'【@'主机名'】identifiedby'密码';
授权:
grant权限on数据库【数据表】to用户
移除权限
revoke权限on数据库【数据表】from用户
HTTP协议
基础知识
协议就是互联网中的设备(交换机,路由器,防火墙)等,进行相互通讯的规则。
规则规定了发送的数据格式,以及每格式所代表的意义。
HyperTextTransformationProtocol超文件传输协议,主要用于web。
HTTP就互联网中客户端浏览器与web服务器进行相互通讯规则。
http协议的特点:
1、支持客户端与服务器模式。
2、简单快捷,客户端向服务器端发起请求时,只需要指定请求的方式与所请的文件即可。
3、方便灵活,服务器向客户端返回数据时,可以使用content-type来设置,即将传递数据的格式。
4、无连接,当服务器处理完一个请求后,就会断开连接。
5、无状态,服务器无法识别,当前的请求与上一次的请求是否同自同一个客户端。
所以产生了cookie会话技术,来保存客户端的状态。
6、web服务器是被动的,客户端是主动的。
http协议的组成
http协议是客户端浏览器与web服务器进行相互通信的规则。
http协议彩的是一种请求与响应的模式。
首先由客户端发请起请求,服务器端处理完成请求后进行响应。
所以http协议由请求与响应组成:
HTTP之URL
URL(UniformResourceLoacation统一资源定位)是URI(UniformResourceIdentifier统一资源标识)的子集
URL的形式如:
http:
//host【:
port】/【path】
http表示http协议,指示浏览器通过网络找到相应的主机
port表示端口号,默认是80,可以不写
path表示所请求的文件的路径,如果省略,必须以'/'结束,如果不写浏览会自动添加'/'
HTTP之请求
请求头:
请求方式包含get或post
URI请求的文件(包含路径与文件名)
/20151219/code/01demo_http.php
协议及版本号http/1.1
协议报头
协议头分三种:
请求报头、响应报头、普通报头(即不属于请求报头也不属于响应报头)
协议报头的格式:
不区分大小写
报头名+":
"+空格+值例如host:
localhost
请求报头:
host:
表示所请求的主机localhost
user-agent:
会将浏览器的相关信息传递给服务器
accept:
接收的数据的类型,
text/html表示,text文本数据html:
超文本application表示二进制数据
accept-language:
表示所接收的语言zh-cn表示简体中文zh表示中文
accept-encoding:
表示所接收的压缩格式
connection:
表示保持连接(请求发出之后,在没有得到响应时,告诉服务器不要关闭此连接)
last-modified-since:
浏览器会缓存之前访问过的网站的资源文件,通过此报头来询问服务器此文件是否被修改过。
referer:
表示本次请求来自哪个url。
content-length:
表示请求的数据的长度,只有post请求方式才有
authorization:
表示认证
空行
就表示请求的报头结束,其后是请求的数据,只有post方式空行才有数据。
HTTP之响应
状态行
协议及版本号http/1.1
状态码及状态信息200ok
1xx表示接收正在处理
2xx处理的结果
200处理成功
3xx需重定向或读取缓存等
304没有修改,读取自己的缓存
4xx客户端的错误
404找不到请求的文件
5xx服务器的错误
响应报头
Date时间
Server服务器环境
Content-length返回的数据的长度
Content-type返回的数据的类型
Last-modified最后修改时间
Content-language:
响应的数据的语言
Content-enconding:
响应的数据的压缩格式
content-charset:
响应的数据的字段编码
空行
响应报头结束,其后的是数据
Telnet模拟get请求
http协议是一种客户端服务器模式,所以只能够访问web服务器的软件都是http协议的客户端。
telnet的运行是cmd窗口,但是win7以上默认没有开启telnet软件。
开启:
控制面板==>程序==>启用或关闭window功能
第1步:
连接服务器
telnet主机名端口号
回车
默认telnet没有开启回显功能(显示用户输入的内容)
开启回显
ctrl+]
再回车
第2步:
构造http协议
构造http请求头
get/URIhttp/1.1
示例:
构造http报头
构造http空行,并发送请求头
回车
示例:
PHP模拟get请求
第1步:
连接web服务器
fsockopen(主机名,端口号,错误代码,错误信息,超时时间);
此函数会返回一个,资源类型的,指向web服务器的连接。
第2步:
构造请求头
第3步:
发送请求头
第4步:
接收数据
完整示例:
PHP模拟POST请求
在使用Post方式提交数据时,在http协议中会以下两请求报头
content-type:
application/x-www-form-urlencoded
content-length:
长度
第1步:
第2步:
第3步:
第4步:
PHP模拟HTTP协议响应
header();用于向http协议的响应头部写信息
刷新并跳转:
header("refresh:
秒数;url=网址");
示例:
header("location:
url");
图片显示:
下载:
//告诉浏览器以下的数据不需显示
header('content-type:
application/octet-stream');
//告诉浏览器以下的数据作为附件下载
header('content-disposition:
attachment;filename=horse.jpg');
发送数据
echofile_get_contents('文件名');
示例:
面向对象
面向过程编程
将问题分析成一个个步骤,再使用函数将一个个步骤进行封装。
根据实际的业务逻辑,依次调用函数。
步骤:
此中的步骤指的并不是程序中的一行行的代码,相当前台用户发出的一个指令。
面向过程中针对的是用户的操作,也可以说是动作。
面向过程编程的步骤:
分析问题=>得到一个个步骤=>直接写代码封装函数
根据业务逻辑直接调用函数。
面向对象编程
将事务中的步骤,分解成对象,创建对象的目的并不是完成需求的每一个步骤,主要是为了描述对象在事务中所执行的动作。
以此来类比现实世界。
面向对象中的术语
类:
类别,具有某些相同共性的事务就可以划分为一类。
类是一个抽象过程,得到的结果是一个抽象概念。
例如:
苹果、香蕉、梨等,可以抽象为水果,水果就是一个概念。
例如:
apple、samsung、huawei等可以抽象为手机,手机就是一个图纸
类就是对数据(变量)与方法(函数)的封装。
类相当于一个蓝图(图纸)
创建类:
class类名{
}
说明:
类名不需要加$,习惯上将类名首字母大写
不能以数字开头
对象
由于类可以理解为图纸,所以对象就是由类(图纸)生产的一个实物,才可以使用图上的功能。
对象是类的一个实例。
实例化
由类产生对象就是实例化。
语法:
new类名【()】;
示例:
类成员
类中可以有属性、方法、类常量,除了这三个成员其他的语句必须写方法内。
属性:
属性就是类中的变量,但是与变量还有不同,类内部定义的变量必须使用访问修饰符(public、private、protected)
属性的作用:
用于存储数据。
示例:
说明:
属性的值可以没,
属性的值不能是一个表达式
属性书写在类的头部
属性的访问
外部访问
语法:
对象名->属性名;
示例:
访问修饰符
public公共的,可以通过对象进行访问
private私有的,只能在类内部的方法内方法
protected受保护的,能被继承。
示例
方法
本质就是一个函数,只是书写在类内的函数,称之为方法(功能)。
创建:
说明:
方法就是一个函数,函数具有特性,方法也同样具有,比如形参与实参。
函数也有访问修饰符(public、private、protected),与属性的相同
方法的调用:
语法:
对象名->方法名(实参);
示例:
封装
多态
继承
host
user-agent
accept
accept-encoding
accept-language
accept-charset
connect
cookie
if-modified-since
content-length
content-type
Authorization
location
server
date
lastmodified
content-length
content-encoding
content-language
content-type
referesh
面向过程编程思想
面向对象编程思想
面向对象基本概念
提到面向对象,每个人都有自己的理解,有的深入肌理,有的剑走偏峰。
但无论所长,几个基本的概念总是会受到大家的重视,它们是:
类、对象、实例化、封装、继承、多态
类
对象
实例化
类成员
属性
访问修改限定符
方法
类常量
私有成员访问
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 概述