面向过程与面向对象引入三大特性事务
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
總結
以上是生活随笔為你收集整理的面向过程与面向对象引入三大特性事务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初学Python(二)——数组
- 下一篇: [翻译][1.4.2]Flask-Adm