zoukankan      html  css  js  c++  java
  • 面向过程与面向对象引入三大特性&&事务

    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

  • 相关阅读:
    VS2019 离线安装方法详解
    VS2019 实用操作
    WIN7 X64位系统安装SQL SERVER2008失败总结
    给reportview传参数的操作过程
    山寨dell mini 3i的问题
    sql backup
    基于wince.net的环境,使用pocketBuilder调用webservice所需安装环境和步骤
    写了一个通用的用户选择页面,记录一下调用方法
    回顾这几年开发医药CRM的历程
    Cumulative Update package 3 for SQL Server 2008 R2三个补丁下载地址,官网下载不直接给地址,不知为什么
  • 原文地址:https://www.cnblogs.com/dreamer666/p/5753867.html
Copyright © 2011-2022 走看看