面向过程与面向对象引入三大特性&&事务
1、面向过程
int a = 10;
int b =5;
int c = a+b;
int r1 = 10;
int r2 = 5;
double c = r1*r1*3.14 - r2*r2*3.14
缺点:重用性差,扩展性差,可维护性差
2、面向对象
(1)对象:万物皆对象,对象是类实例化出来的东西
(2)类:由众多对象抽象出来的东西
例子:管理学生信息的程序
研究的对象主要是 学生
程序中的类 学生的类 (学号 姓名 性别 年龄 住址 联系方式 )
student(code,name,sex,age,address,lianxi)
(3) class Student //定义类 关键字class 后面跟类名
{
string code; //成员变量code
string name; //成员变量 name
bool sex; //成员变量 sex
int age; //成员变量 age
string address; //成员变量 address
string lianxi; //成员变量 lianxi
}
面向对象
1.类:众多对象抽象出来的
2.对象:类实例化出来的
3.类的定义
关键字 class
4.类里面包含
成员变量
成员属性
成员方法
5.面向对象三大特性
(1)封装
目的:保护类,让类更加安全。
做法:让类里面的成员变量变为私有的,做相应的方法或者属性去间接的操作成员变量
封装成员方法来间接操作类里面的成员变量
使用成员属性来间接访问类里面的成员变量
访问修饰符
private 私有的 只能在该类中访问
protected 受保护的 只能在该类和它的子类中访问
public 公有的 在任何地方都可以访问
构造方法(函数):
作用:造对象所要调用的方法,用来创建对象,可以对成员进行初始化
每一个类都有一个构造方法,不写也有只不过看不到而已
特殊性:写法特殊 执行时间特殊
(2)继承
(3)多态
---------------------------------------------------------------------
事务:
保障流程的完整执行
就像银行取钱,先在你账上扣钱,然后存入别人的账上;
但是从你账上扣完钱了,突然网断了,对方没有收到钱,那么此时你的钱也没了,别人的钱也没加上,为了防止此类情况的出现,事务。
begin tran --在流程开始的位置
if @@ERROR>0
begin
rollback tran --回滚事务,到begin tran的位置,就当没发生过
end
else
begin
commit tran --提交事务,都没问题,那么就一把进行提交
end
-----------------------------------------------------------------
购物车实例
begin tran --开启事务
declare @tran_error int; --存储错误
set @tran_error = 0; --默认没有错误
update Fruit set Numbers = Numbers-1 where Ids='k002'
set @tran_error = @tran_error + @@ERROR;
update Login set Account=Account-1 where UserName='wangwu'
set @tran_error = @tran_error + @@ERROR;
insert into Orders values('d002','wangwu','2016-8-7')
set @tran_error = @tran_error + @@ERROR;
insert into OrderDetails values('d002','k002',10)
set @tran_error = @tran_error + @@ERROR;
if @tran_error>0
begin
rollback tran --回滚事务,到begin tran的位置,就当没发生过
end
else
begin
commit tran --提交事务,都没问题,那么就一把进行提交
end
面向过程与面向对象引入三大特性&&事务的更多相关文章
- PHP mysqli扩展整理,包括面向过程和面向对象的比较\事务控制\批量执行\预处理
相关文章:PHP的mysql扩展整理,操作数据库的实现过程分析 PHP PDO扩展整理,包括环境配置\基本增删改查\事务\预处理 介绍 mysqli是PHP程序与mysql数据库进行数据交互的桥梁, ...
- python基础--面向对象基础(类与对象、对象之间的交互和组合、面向对象的命名空间、面向对象的三大特性等)
python基础--面向对象 (1)面向过程VS面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. ...
- oc语言--面向对象的三大特性
一.封装 1.什么是封装 在程序上,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将对象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的 ...
- Python 面向对象(创建类和对象,面向对象的三大特性是指:封装、继承和多态,多态性)
概念: ...
- python全栈开发从入门到放弃之面向对象的三大特性
组合 class Course: def __init__(self,name,period,price): self.name = name self.period = period self.pr ...
- C语言学习系列(二)面向过程和面向对象
一.基本定义 (一).面向过程(procedure oriented programming POP) 面向过程是分析解决问题的步骤,然后用函数把这些步骤一步一步的实现,然后在使用的时候一一调用则可. ...
- 面向过程 vs 面向对象
从网上摘录了一些面向过程vs.面向对象的分析,先简单记录如下,稍后会继续整理. 为什么会出现面向对象分析方法? 因为现实世界太复杂多变,面向过程的分析方法无法实现. 面向过程 采用面向过程必须了解整个 ...
- OC面向对象的三大特性
一.面向对象的三大特性:封装(成员变量).继承和多态 1. set方法和get方法 1. set方法和get方法的使用场合 @public的成员可以被随意赋值,应该使用set方法和get方法来管理成员 ...
- java基础笔记(6)----面向对象的三大特性
简介:面向对象的三大特性就是封装,继承,多态,是面向对象的核心. 封装 简介:封装是类的边界,可以对数据起到保护作用 特性:属性私有,提供公开的get/set方法 属性私有:private 数据类型 ...
随机推荐
- mkswap,swapon, swapoff命令:创建交换分区
linux支持虚拟内存,用作虚拟内存的硬盘部分被称为交互空间(swap space),虚拟内存是指使用磁盘当作内存的扩展,这样可用内存的大小就相应的增大了.内核会将暂时不用的内存块的内容写到硬盘上,从 ...
- MongoDB C#驱动
烟波钓徒 MongoDB C#驱动 http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial 笔记 首先下载驱动.驱动有两个文件 Mongo ...
- 第三课 MongoDB 数据更新
1.课程大纲 本课程主要解说 MongoDB 数据更新的相关内容.包含文档插入 insert 函数.文档删除 remove函数以及文档更新update函数的基本使用.除此之外.还会介绍 MongoDB ...
- vsftpd.conf案例
1. 匿名服务器的连接(独立的服务器) 在/etc/vsftpd/vsftpd.conf配置文件中添加如下几项:Anonymous_enable=yes (允许匿名登陆)Dirmessage_enab ...
- Project Perfect让Swift在server端跑起来-Perfect in Visual Studio Code (四)
编者语 : 本系列文章已经被Perfect官方引用了,这样的感觉非常好.感恩!Thx all ! Visual Studio Code是一个轻量级的编辑器,但也功能丰富,通过插件你能够完毕如Cordo ...
- css的white-space属性导致了空格问题——查看十六进制发现2020变成了c2a0
今天发现了一个奇怪的问题.从文本编辑器(notepad++)中把一段文本输入到easyui的textbox文本框(textarea)中,不进行不论什么的操作.直接再从文本框中把文本拷贝出来贴到文本编译 ...
- 75. Autorelease机制及释放时机
Autorelease机制是iOS开发人员管理对象内存的好伙伴.MRC中.调用[obj autorelease]来延迟内存的释放是一件简单自然的事:ARC下,我们甚至能够全然不知道Autoreleas ...
- Echarts Binning on map 根据真实经纬度渲染数据
要渲染的数据:[经度,维度,值] 例如: var data = [[116.420691626, 39.4574061868, 63],[116.423620497, 39.4574061868, 2 ...
- Android处理日期
近期做一个项目,后台返回的日期是RFC3339格式的.之前没有看到过,当中遇到了几个问题以及解决 1.2015-11-18T14:49:55Z转换 在SimpleDateFormat中给出了几种格式 ...
- mssql 中的二进制返回数据