博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向过程与面向对象引入三大特性&&事务
阅读量:6067 次
发布时间:2019-06-20

本文共 1835 字,大约阅读时间需要 6 分钟。

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

转载于:https://www.cnblogs.com/dreamer666/p/5753867.html

你可能感兴趣的文章
localForage——轻松实现 Web 离线存储
查看>>
SharePoint 中用户控件的开发及应用
查看>>
10分钟学会搭建Android开发环境 Eclipse: The import android.support cannot be resolved
查看>>
yum只下载软件不安装的两种方法
查看>>
silverlinght 项目
查看>>
记录下DynamicXml和HtmlDocument 使用方式
查看>>
[转]linux awk命令详解
查看>>
C#操作IE浏览器
查看>>
搜狗拼音输入法LINUX版安装
查看>>
运维生产环境常用脚本
查看>>
mysql怎么定义外键
查看>>
SQL与SQL Server
查看>>
java创建文件和目录归纳
查看>>
二维纹理 Texture 2D
查看>>
winner tree 胜者树
查看>>
jquery datagrid设置pageSize不起作用
查看>>
阿里巴巴曾鸣:数据时代来临
查看>>
CI框架初探
查看>>
腾讯QQ企业邮箱POP3/SMTP设置
查看>>
稳态可压Navier-Stokes方程组在Dirichlet边界下的解的存在性
查看>>