20150109--面向对象+对象传值-01

回顾

mysql:函数和存储过程

-- 创建表

create table my_name(name char(2) not null)charset utf8;

-- 定义全局变量

set @first = '甲乙丙丁戊己庚辛壬癸';

set @second = '子丑寅卯辰巳午未申酉戌亥';

-- 创建存储过程

delimiter $$

create procedure createName(in int_1 int)

begin

-- 循环变量

declare i int default 0;

-- 获取姓氏和名字

mywhile:while i < int_1 do

-- 获取姓名

set @name = substring(@first,round(rand() *9 + 1),1);

-- 获取名字

set @name = concat(@name,substring(@second,round(rand() * 11 + 1),1));

select name from my_name where name = @name into @temp_name;

if @temp_name is null then

-- 将名字插入数据库

insert into my_name values(@name);

else

-- 循环不算

iterate mywhile;

end if;

-- 改变循环变量

set i = i + 1;

end while;

end

$$

delimiter ;

HTTP协议:HTTP请求和HTTP响应

HTTP请求:请求行(请求方式 URI 协议版本),请求头,空行,请求数据(POST才有)、

HTTP响应:状态行(协议版本 状态码 状态描述),响应头,空行,响应体

状态码分类

1XX:服务器正在接收

2XX:服务器已经成功处理

3XX:服务器告诉浏览器重定向

4XX:请求错误

5XX:服务器处理错误

常见的状态码

200:ok,表示已经成功处理

302:重定向,浏览器应该直接发起新的请求,对应的就是location

403:Forbidden,禁止访问,没有权限

404:not found,找不到对应的文件

502:服务器从上级服务器接收结果时出现错误

需求:帮助传智播客做一套网上销售系统,卖教材。用户能够选择某一个商品,加入购物车,通过点击结算来生成订单,可以进行在线支付(银行支付+支付宝支付),用户可以查看订单状态,传智在收到确认订单之后,可以选择发货,有订单状态。

解决方案1:面向过程思想

以上方案能够解决问题,但是与现实生活中的真实处理有点不一样。

解决方案2:面向对象编程

面向对象编程

1. 什么是面向对象编程?

面向对象编程不是技术,是一种思想,是一种将程序的设计符合自然界中事务发展的规律的思想。

面向对象基本概念

在面向对象编程里有几个基本概念:类,实例化,对象(实例)

类是自然界中对某一类具有共同属性和能力的事务(实体)的集合(分类)

类指的是将拥有共同属性和能力的实体,将该共性抽离处理,形成文字的描述,最终转换成系统的所能识别的代码的过程称之为抽象。

类:是对象的抽象。

类关键字:class

语法:定义类

class 类名{

//类成员

}

对象

自然界中存在的任何一个个体都称之为对象,对象必须与对应的类有关系。

对象:是类的实例化。对象也被称之为实例。

对象:是类的具象。

object

实例化

实例化就是从一个抽象的描述中去得到一个具体的个体的过程称之为实例化。

实例化:类得到对象的过程

实例化关键字:new

实例化的结果就是产生类的对象。

类成员

类成员:所有定义在类内部的结构,类里面只能有类成员,不能有任何其他的东西。

类成员:属性(变量),方法(能力:函数),类常量(定义在类里面的常量)

属性

定义在类中的变量

原因:类里面定义的属性,需要指定可以被访问的范围。在类中定义的属性需要使用访问修饰限定符来控制。

访问修饰限定符有三种:public,protected和private

public:公有的,属性可以在类意外的地方使用

protected:受保护的,属性只能在类的内部使用(如果有继承,可以在子类内部使用)

private:私有的,只能在当前类的内部使用,其他任何地方都不能使用

php在5以前没有这三种访问修饰限定符,使用var关键字,var关键字默认的代表的意思就是public

属性与对象的关系:所有的属性都保存在对象里面

访问属性:属性是属于对象的,因此属性的访问应该是对象访问。

语法:

访问:对象变量->属性名;

修改:对象变量->属性名 = 值;

方法

方法:类里面定义的函数

查看对象

说明:方法不在对象里面,说明一定是在类里面。

调用方法

方法依然是通过对象来进行调用

对象->方法名(实参列表);

访问修饰限定符的限制

类常量

定义在类里面的常量。

类常量必须使用const关键字定义

const 常量名 = 值;

常量与对象的关系

常量不能通过对象访问

私有访问

对带有私有(private)关键字修饰的属性和方法的访问(protected与私有一样)。

private:只能在类的内部进行使用,只能在类中定义的方法的内部去使用。

在类的内部有一个关键字能够代表当前进入到类内部的对象:$this

$this只能在类的内部使用(只能在方法里面使用)

类与对象的内存分析

posted on 2016-04-20 22:43 山山未迟 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lifushan/p/5414821.html

20150109--面向对象+对象传值-01相关推荐

  1. php中对象传值方式,php实现对象传值方式的具体案例

    php实现对象传值方式的具体案例 发布时间:2020-07-09 11:01:54 来源:亿速云 阅读:85 作者:Leah 今天就跟大家聊聊有关php实现对象传值方式的具体案例,可能很多人都不太了解 ...

  2. 第163天:js面向对象-对象创建方式总结

    面向对象-对象创建方式总结 1. 创建对象的方式,json方式 推荐使用的场合: 作为函数的参数,临时只用一次的场景.比如设置函数原型对象. 1 var obj = {}; 2 //对象有自己的 属性 ...

  3. 窗体间跳转及传值 01

    窗体间跳转及传值 01 目标 需求 步骤 验证用户的算法 编码 非空验证方法 非空验证的多种方式 提交事件 主逻辑 验证通过,就执行主要的 连接打开,防止异常 本篇目标 实现登陆功能

  4. C#教程8:面向对象编程【01】

    一.OOP面向对象定义 面向对象编程 (OOP) 是一种编程范式,它使用对象及其交互来设计应用程序和计算机程序. OOP中有一些基本的编程概念: Abstraction 抽象 Polymorphism ...

  5. 面向对象基础知识01

    C#面向对象编程的注意事项 * 注意自己的命名, * [JIT]即时编译:运行到哪里编译到哪里,编译之后就放到了内存之中. * 局部变量(在方法中申明)必须先付值在使用. * 越抽象的类就可以当做父类 ...

  6. vue 对象继承_JS面向对象—对象的继承

    面向对象编程很重要的一个方面,就是对象的继承.A 对象通过继承 B 对象,就能直接拥有 B 对象的所有属性和方法.这对于代码的复用是非常有用的. 大部分面向对象的编程语言,都是通过"类&qu ...

  7. JavaScript中的面向对象--对象创建

    JavaScript高级程序设计第3版总结p156 1.JavaScript中的对象 首先,ECMAScript 中函数实际上是对象.每个函数都是 Function 类型的实例,而且都与其他引用类型一 ...

  8. Objective-C基础——面对对象语法01

    一.面向对象和面向过程思想 OC是面向对象的,C是面向过程的.面向对象和面向过程只是解决问题的两种不同思想 1.面向对象和面向过程的区别         以用电脑听歌为例             a) ...

  9. uniapp组件传值的方法(父传子,子传父,对象传值)案例

    文章目录 前言 父组件给子组件传值 子组件给父组件传值 父组件给父组件传对象值 前言 最近看到uniapp组件传值的方法,这里记录一下,学过vue的应该都觉得很简单,传值的方法基本与vue的写法差不多 ...

  10. java面向对象对象总述

    目录 1 总述 1.1 面向过程(OPO) 1.2 面向对象(OOP) 1.3 面向对象的三大特征: 1.4 面对对象有 万物皆对象的说法 1.5 每个面向对象整体过程要经历三个步骤 1.6 类和对象 ...

最新文章

  1. C++类成员函数重载问题
  2. ABAP实例:如何设计和使用自定义的权限对象
  3. Python 交叉验证模型评估
  4. 解决办法在安装完Nginx后服务启动失败
  5. 阿里启动NASA计划创造新经济核心科技
  6. 内存分析_Redis内存爆炸增长?你需要知道这一套Redis内存分析方法
  7. 一流设计导航|16map|效率导航最全设计类软件!速度收藏!!
  8. P3435 [POI2006]OKR-Periods of Words
  9. linux学习之文件操作
  10. matlab双峰模型,为什么用MATLAB画的高斯双峰曲线不能永双高斯函数拟合?
  11. 分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据
  12. android studio 中禁用一个插件功能
  13. matlab中std2的公式,STD函数的内部计算公式
  14. sketchup(草图大师)-倒圆角-避免破面现象
  15. ScienceWord控件问题以及IE8对于base64编码图片长度限制的解决方案
  16. 机器学习项目 - ctr 电商点击率预估
  17. 【高德地图】H5 Web端定位当前位置,获取GPS和地址信息?
  18. Elasticsearch7.x学习
  19. 计算机名词解释高级筛选,高级筛选什么意思?
  20. openCV生成一张纯白图片

热门文章

  1. Spring boot 跨域请求实现方式汇总
  2. Html meta 标签定义页面元信息 详解
  3. webapi 状态返回 php,让WebAPI 返回JSON格式的数据实例教程
  4. 捷达vs7测试_没有大众车标的光环,捷达VS7显得更厚道,看看是不是你的菜
  5. 阶段3 2.Spring_04.Spring的常用注解_2 常用IOC注解按照作用分类
  6. WebSocket websockets
  7. Ubuntu16.04上使用Anaconda3的Python3.6的pip安装UWSGI报错解决办法
  8. io流之转换流InputStreamReader、OutputStreamWriter
  9. weblogic domain的安装与配置
  10. memcache简单操作