面向过程与面向对象引入三大特性事务
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
缺點(diǎn):重用性差,擴(kuò)展性差,可維護(hù)性差
?
2、面向?qū)ο?/span>
(1)對象:萬物皆對象,對象是類實(shí)例化出來的東西
(2)類:由眾多對象抽象出來的東西
例子:管理學(xué)生信息的程序
研究的對象主要是 學(xué)生
程序中的類 學(xué)生的類 (學(xué)號 姓名 性別 年齡 住址 聯(lián)系方式 )
student(code,name,sex,age,address,lianxi)
(3) class Student //定義類 關(guān)鍵字class 后面跟類名
{
string code; //成員變量code
string name; //成員變量 name
bool sex; //成員變量 sex
int age; //成員變量 age
string address; //成員變量 address
string lianxi; //成員變量 lianxi
}
?
面向?qū)ο?br />1.類:眾多對象抽象出來的
2.對象:類實(shí)例化出來的
3.類的定義
關(guān)鍵字 class
4.類里面包含
成員變量
成員屬性
成員方法
?
5.面向?qū)ο笕筇匦?br />(1)封裝
目的:保護(hù)類,讓類更加安全。
做法:讓類里面的成員變量變?yōu)樗接械?#xff0c;做相應(yīng)的方法或者屬性去間接的操作成員變量
封裝成員方法來間接操作類里面的成員變量
使用成員屬性來間接訪問類里面的成員變量
訪問修飾符
private 私有的 只能在該類中訪問
protected 受保護(hù)的 只能在該類和它的子類中訪問
public 公有的 在任何地方都可以訪問
構(gòu)造方法(函數(shù)):
作用:造對象所要調(diào)用的方法,用來創(chuàng)建對象,可以對成員進(jìn)行初始化
每一個(gè)類都有一個(gè)構(gòu)造方法,不寫也有只不過看不到而已
特殊性:寫法特殊 執(zhí)行時(shí)間特殊
(2)繼承
(3)多態(tài)
---------------------------------------------------------------------
事務(wù):
保障流程的完整執(zhí)行
就像銀行取錢,先在你賬上扣錢,然后存入別人的賬上;
但是從你賬上扣完錢了,突然網(wǎng)斷了,對方?jīng)]有收到錢,那么此時(shí)你的錢也沒了,別人的錢也沒加上,為了防止此類情況的出現(xiàn),事務(wù)。
begin tran --在流程開始的位置
if @@ERROR>0
begin
rollback tran --回滾事務(wù),到begin tran的位置,就當(dāng)沒發(fā)生過
end
else
begin
commit tran --提交事務(wù),都沒問題,那么就一把進(jìn)行提交
end
-----------------------------------------------------------------
購物車實(shí)例
begin tran --開啟事務(wù)
declare @tran_error int; --存儲(chǔ)錯(cuò)誤
set @tran_error = 0; --默認(rèn)沒有錯(cuò)誤
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 --回滾事務(wù),到begin tran的位置,就當(dāng)沒發(fā)生過
end
else
begin
commit tran --提交事務(wù),都沒問題,那么就一把進(jìn)行提交
end
轉(zhuǎn)載于:https://www.cnblogs.com/dreamer666/p/5753867.html
總結(jié)
以上是生活随笔為你收集整理的面向过程与面向对象引入三大特性事务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初学Python(二)——数组
- 下一篇: [翻译][1.4.2]Flask-Adm