01面向对象.docx
- 文档编号:5382661
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:14
- 大小:1,022.59KB
01面向对象.docx
《01面向对象.docx》由会员分享,可在线阅读,更多相关《01面向对象.docx(14页珍藏版)》请在冰豆网上搜索。
01面向对象
回顾
SQL变量:
系统变量和自定义变量
系统
普通,set变量名=值
全局,setGLOBAL变量名=值
自定义
set@变量名=值;--没有指定数据类型
局部变量:
declare变量名数据类型
select字段列表from表名into变量列表
变量作用域
全局变量可以在任何地方使用
局部变量只能在“函数”内部使用
函数:
系统函数和自定义函数
使用函数:
select函数名(参数列表)
自定义函数:
createfunction函数名(参数列表)returns数据类型
begin
//函数体
//定义局部变量
//分支结构if
//循环结构while
//iterate:
continue
//leave:
break
//返回值
end
存储过程
存储定义:
createprocedure过程名字(参数列表)
begin
//参数列表特殊性:
in,out,inout
end
//往一张表中插入100条随机数据
createprocedureinsert_user(innumint)
begin
//定义一部分局部变量,保存姓氏和名字内容
declarefirst_namechar(10)default‘赵钱孙李周吴郑王彭邵’;
declarelast_namechar(12)default‘甲乙丙丁戊己庚辛壬癸戌亥’;
//定义一个字符串保存姓名
declarenamechar
(2)default‘’;
declareageintdefault0;
//循环变量
declareIintdefault0;
//循环忘user表中插入数据
whileI setname=‘’; //获得姓氏 setname=concat(name,substring(first_name,floor(rand()*10)+1,1)); //得到名字 setname=concat(name,substring(last_name,floor(rand()*12)+1,1)); setage=floor(rand()*60)+18; //插入数据 insertintouservalues(null,name,age); end 用户管理: 创建用户-》给权限-》回收权限-》回收用户 root忘记密码: 使用mysqld.exe启动–skip-grant-tables HTTP协议: HTTP请求,HTTP响应 请求: 请求行(请求方式URI协议版本),请求头(各项协议,每个协议都独占一行),空行(区分请求头和请求主体),请求主体(POST才有的提交内容) 响应: 响应行(状态行: 协议版本状态编码状态描述),响应头(协议内容),空行(区分响应头和响应主体),响应主体 php模拟HTTP请求 php模拟浏览器的动作 1.连接Apache服务器 fsockopen: 专门用于连接服务器,得到一个连接资源 2.写入HTTP协议 fwrite: 向指定资源(fsockopen)写入内容 3.接收返回数据 数据接收后被存放在fsockopen的资源中 4.解析数据 fgets,fgetc get模拟: demo01_http_get.php post模拟: demo02_http_post.php 需求: 学生与传智咨询老师进行沟通 1.学生提问 2.老师回答 3.学生投诉 4.学生留言 面向过程编程 面向过程是一个软件设计思想,实现模块化编程,实现代码的重用。 核心思想: 将功能以函数的形式封装,在需要的时候直接调用函数。 面向对象 面向对象不是一种技术,也是一种思想,从面向过程进化而来。 面向对象的核心思想: 不是简单的将某个功能封装成函数,还要将相似功能的函数所调用的主体也进行封装,实现某个主体拥有多个功能。 在使用的过程中,先得到对应的主体,然后使用主体去应用其对应的功能。 面向对象与面向过程对比 1.都是实现模块化编程,面向对象的模块化更深。 2.面向对象更加贴近现实生活。 3.从开发难度上讲,面向对象比面向过程要复杂的多。 4.从维护角度来讲,现象对象要比面向过程简单 面向过程是针对功能,面向对象是针对功能操作的主体 以前写代码的方式: 碰到功能马上写函数 以后写代码的方式: 碰到功能,先找到会要去调用该功能的实体(主体),再把主体给封装后,再实现功能。 面向对象的几个基本概念 类: 类就是实体(主体),指的是把具有一些共性的东西,把共性抽离出来变成计算机可以识别的代码。 对象: 属于某个类的一个具体的实例 实例化: 从类创建对象的过程 类–》实例化—》对象 类: 也是通过程序语言定义出来的结构 语法: class类名{ //类成员 } 实例化: 通过类得到对象的过程 语法: new类名[()] 对象: 是通过类实例化最终得到的结果 变量=new类名 类成员 类成员: 类里面所能定义的内容 类中可以定义: 属性,方法,类常量 属性: 定义在类里面的变量,因为在类中所以需要使用修饰符 修饰符修饰属性 访问修饰限定符: 限定属性可以被访问的范围(区域) var: 老版本的面向对象的属性修饰符,表示在类的内部和类的外部都能够被访问 public: 公共的,与var的功能是一样的 private: 私有的,只能在类的内部被使用(函数的局部变量) protected: 受保护的,只能在类的内部被使用,可以被继承。 (在没有讲面向对象的继承之前,protected与private是一样的) 如何访问类中的属性呢? 属性都是通过对象去进行访问 语法: 对象->属性名字 私有不能在外部访问 受保护的不能在外部访问 方法: 定义在类里面的函数 如何调用方法? 对象调用方法 语法: 对象->方法名字(参数列表); 方法也可以使用访问修饰限定符: public,private,protected,默认是public 限制访问与属性的限制是一样的 类常量: 定义在类里面的常量 语法: const常量名字=值 类与对象在内存的关系 课堂作业 1.创建一个类student 2.定义学生属性(姓名,学号等),要求要使用访问修饰限定符 3.定义学生能力(学校,吃饭,睡觉,清点财产) 4.实例化 5.对象访问属性及其方法 对属性进行赋值 语法: 对象->属性=值; 私有属性访问 私有属性只能在类中被访问,而类里只有三种成员: 属性,方法和常量,只有方法可以帮助对象实现私有属性的访问。 在类中class里面(方法里面),可以使用$this代表当前调用该方法的对象 给私有属性赋值 类名的命名规则 1.不需要$符号 2.可以使用字母,下划线和数字组成,通常都是使用字母 3.类名不区分大小写,建议自己要区分大小写 4.类名通常使用驼峰法命名(个人习惯,类名的第一个字母大写) 魔术方法 魔术方法: 系统已经定义好,但是需要用户在类里面显示的写出来才会被执行的方法。 一旦定义了魔术方法,那么在某些特定的情况下会自动触发。 构造方法 在创建对象之后,会自动被对象调用的方法 语法: __construct() 构造方法就是为了初始化对象的属性。 低版本面向对象的构造方法的兼容 析构方法 当当前对象被销毁的时候,当前对象会自动调用的一个方法 语法: __destruct(); 析构方法的作用: 释放资源(内存等) 让析构方法执行的方式 对象传值 对象之间传值默认是引用传值 对象的比较 DB类 封装一个DB类。 一个类文件应该只有一个类,其他的内容全部都没有。 类文件的命名规则: 类名.class.php 在真实的项目当中,要尽量增加类对属性的控制权: private->protected->public 代码见DB.class.php 如果包使用某一个类来创建对象,必须要保证该类已经被加载到代码区里。 可以使用一个魔术函数来实现对类的自动加载 自动加载 自动加载: 当一个脚本文件在执行某些语句的时候(实例化)需要去代码区里寻找对应的类,如果找不到会通过自动加载函数来将对应的类文件进行加载。 魔术函数: __autoload() 类常量访问 方法中不能直接访问类常量 原因: 常量是属于类,只有类能访问 类访问常量 语法: 类名: : 常量名字 类内访问常量 类外访问常量 在类的内部可以使用self关键字代替类名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 01 面向 对象