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

本文共 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

你可能感兴趣的文章
《完全写作指南》读书笔记
查看>>
精准营销:挖掘日志中的手机号码信息
查看>>
04 聚类算法 - 代码案例一 - K-means聚类
查看>>
独家 | 一文盘点数据集市和数据仓库的差异(附链接)
查看>>
腾讯自动驾驶布局全态观:高精地图、仿真、数据云......
查看>>
从HA3到AI·OS -- 全图化引擎破茧之路
查看>>
Qt5&OpenCV3 UDP协议实现实时视频传输与通信
查看>>
《Learning OpenCV3》ch19:双目标定与立体匹配
查看>>
HeadFirst 设计模式 - Chapter8 模板方法设计模式
查看>>
mybatis开发Dao
查看>>
数据分析第一周
查看>>
CKFinder 3.5 发布,即将支持 Java
查看>>
mysql删除数据左右空格
查看>>
elementUI table 点击编辑按钮进行编辑实现示例
查看>>
Centos7已配置环境变量,javac命令执行无效
查看>>
工商银行区块链实践:基建劳务合同上链,监管工薪链条
查看>>
Confluence 6 配置用户目录
查看>>
天下武功唯快不破——实验吧
查看>>
转宽字节注入详解
查看>>
kubernetes中的Admission Controllers
查看>>