object

DataReader对象与数据获取

▼魔方 西西 提交于 2020-03-29 05:21:25
DataReader对象与数据获取 DataReader对象以“基于连接”的方式来访问数据库。也就是说,在访问数据库、执行SQL操作时,DataReader要求一直连在数据库上。这将会给数据库的连接负载带来一定的压力,但DataReader对象的工作方式将在很大程度上减轻这种压力。 1、DataReader对象的常用属性 DataReader对象提供了用顺序的、只读的方式读取用Command对象获得的数据结果集。由于DataReader只执行读操作,并且每次只在内存缓冲区里存储结果集中的一条数据,所以使用DataReader对象的效率比较高,如果要查询大量数据,同时不需要随机访问和修改数据,DataReader是优先的选择。 DataReader对象有以下常用属性。 FieldCount属性:该属性用来表示由DataReader得到的一行数据中的字段数。 HasRows属性:该属性用来表示DataReader是否包含数据。 IsClosed属性:该属性用来表示DataReader对象是否关闭。 2、DataReader对象的常用方法 同样,在SQL Server Data Provider里的DataReader对象叫SqlDataReader,而在OLE DB Data Provider里叫OleDbDataReader。

22. 面向对象-初始

空扰寡人 提交于 2020-03-28 17:44:18
一、面向对象书写 class Car: # self表示当前类对象,当前你创建的是谁,谁来访问这个方法,self就是谁 def __init__(self, color, displacement, number): self.color = color self.displacement = displacement self.number = number def run(self, speed): print(f"这辆车可以跑{speed}迈") #实例化:类名加括号就是实例化,会自动触发__init__函数的运行,可以用它来为每个实例定制自己的特征 car = Car("red", "1.8T", "京A88888") car.run(100) 1. __new__(cls, *args, **kwargs) __new__ 负责对象的创建而 __init__ 负责对象的初始化;至少需要传递一个参数cls,必须要有返回值,返回实例化出来的实例。可以return父类通过super(当前类名,cls).__new__出来的实例,或者直接是object的__new__出来的实例。 2. __init__() - 构造方法 __init__()在__new()的基础上完成初始化动作,不需要返回值;有一个参数self,该self参数就是__new__()返回的实例; 3. 实例

C#装箱与拆箱

人走茶凉 提交于 2020-03-28 15:10:13
C# 装箱与拆箱 要掌握装箱与拆箱,就必须了解CTS及它的特点。 NET 重要技术和基础之一的CTS(Common Type System)。顾名思义,CTS就是为了实现在应用程序声明和使用这些类型时必须遵循的规则而存在的通用类型系统。.Net将整个系统的类型分成两大类 ——Value Type 和 Reference Type。。,多数的OO语言存在这个弱点,原因就是因为他们的原类型没有共同的基点,于是他们在本质上并不是真正的对象C++更依赖于对象,而非面向对象。.Net环境的CTS 给我们带来了方便。第一、CTS中的所有东西都是对象;第二、所有的对象都源自一个基类——System.Object类型。这就是所谓的单根层次结构(singly rooted hierarchy)关于System.Object的详细资料请参考微软的技术文档。CTS Value Type的一个最大的特点是它们不能为null,Value Type的变量总有一个值。在传递Value Type的变量时,实际传递的是变量的值,而非底层对象的“引用”。CTS Reference Type就好像是类型安全的指针,它可以为null。当值为null时,说明没有引用或类型指向某个对象。声明一个引用类型的变量时,被操作的是此变量的引用(地址),而不是数据。 使用这种多类型系统时如何有效的拓展和提高系统的性能

java多线程实现卖票程序(synchronized)

♀尐吖头ヾ 提交于 2020-03-28 06:52:22
本文采用java多线程实现了模拟车站多个车票卖票的功能。 关键词:java多线程 并发 共享资源 互斥访问 实现runnable接口 volatile 线程同步。 关键:线程同步,因为创建了多个线程,那么卖票部分代码应该上锁来保证线程对此关键代码的互斥访问,上锁的方式有两种,一种是synchronized隐式锁,另一种是Lock.lock()显式锁。 问题1:两种锁的区别:使用显示锁可以做到更细的控制粒度。比如可以设置一个线程试图获取锁,但是设定时间内获取锁失败可以进行其他操作等,这些事synchronized锁无法实现的。 问题2:synchronized作用讲解 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。 三、尤其关键的是,当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。 四、第三个例子同样适用其它同步代码块

云笔记项目-补充JS面向对象编程基础知识

☆樱花仙子☆ 提交于 2020-03-28 06:06:58
简单介绍: 此部分知识为在做云笔记项目中补充,因为云笔记项目中涉及到前端js,里面写了很多js脚本,用到了创建js属性和方法,在js中直接声明的属性和方法最终都会变成window的对象,即其成为了全局变量,可以在控制台直接调用。 (1)如何创建js对象 1 JSON语法声明对象(直接量声明语法)-->var obj={} 2 使用Object创建对象 -->var obj=new Object() (2) js对象可以后期添加属性 1 var obj={}; obj.name="tom"; 这样可以使用obj.name访问其属性 2 var obj1=new Object(); obj1.name="tom"; 这样也可以访问obj.name、 (3)js对象特点: 1.new Object()和JSON语法创建的对象没有差别,JSON语法简洁方便,更加容易使用。 2.对象可以随时添加属性,对象.属性=值 3.不存在的属性,值是undefined,undefined 相当如false,利用这点可以检查属性是否存在,if(!obj.age){ console.log("没有age属性"); }或者if(obj.age){console.log("年龄"+obj.age);} 4.可以随时删除对象的属性 delete 对象.属性,如 delete obj.age;

React-组件的生命周期

…衆ロ難τιáo~ 提交于 2020-03-27 12:46:05
1.组件的生命周期 组件的生命周期分成三个状态: Mounting:已插入真实 DOM Updating:正在被重新渲染 Unmounting:已移出真实 DOM React 为每个状态都提供了两种处理函数, will 函数在进入状态之前调用 , did 函数在进入状态之后调用 ,三种状态共计五种处理函数。 componentWillMount() ---render之前最后一次修改状态的机会 componentDidMount() ---成功render并渲染完成真实DOM之后触发, 可以修改DOM componentWillUpdate(object nextProps, object nextState) componentDidUpdate(object prevProps, object prevState) componentWillUnmount() 此外,React 还提供两种特殊状态的处理函数。 componentWillReceiveProps(object nextProps):已加载组件收到新的参数时调用 shouldComponentUpdate(object nextProps, object nextState):组件判断是否重新渲染时调用 注意: render只能访问this.props和this.state ,只有一个顶层组件

浅谈JavaScript创建对象

做~自己de王妃 提交于 2020-03-27 11:34:36
  好久没写博客了,今天补一下,废话不多说,咱们进入正题。   在java中,有这么一句话叫”万物接对象“,那么我今天就来说一下在JavaScript中怎么创建对象,当然要与其他语言作对比,作参照,才能更容易理解。   对象由什么组成,方法与属性(行为)。   在java中怎么创建对象,无非就是 Object obj = new Object( ),没错,JavaScript中也可以使用如此,细心的同学会发现,大多数语言在大多数方面有共通之处, 方法一、    工厂模式:       对于工厂模式,这个词大家都不陌生,陌生的话脑补一下”工厂“的车间的生产方式,没错,就是那样,举个栗子:       function dog(name, age, voice){         var obj = new Object();         obj.name = name;         obj.age = age;         obj.voice = voice;         obj.bark = function(){           alert(this.voice);         }         return obj;       }       var dog_1 = dog("kugou", 12, " o o o ");       dog_1

javascript 基础知识汇总

不问归期 提交于 2020-03-27 09:54:14
1、 在ES5中, 变量声明有两种方式,分别是var和function, var用于声明普通的变量,接收任意类型,function用于声明函数。另外ES6新增了let、const、import和class等声明方式,let用于声明普通变量(与var的区别在于拥有块级作用域,在作用域内不能重复声明),const用于声明静态变量,import用于声明模块,class用于声明类。 2、JS数据类型共有7种,分别是(1)数值Number、(2)字符串String、(3)布尔Boolean、(4)符号Symbol、(5)Null、(6)Undefined、(7)对象Object。其中Object是引用类型,其他都是原始类型,原始类型也成为基本类型或者是简单类型,因为其占用空间固定,是最简单的数据段,为了便于提升变量查询速度,将其存储在栈中(按值访问)。引用类型由于其值的大小会改变,所以不能将其存放在栈中,否则会降低变量的查询速度,因此其存储在堆中,存储在变量处的值是一个指针,指向存储对象的内存处(按址访问),对于引用类型的值,可以为其添加属性和方法,也可以改变和删除其属性和方法,但基本类型不可以添加属性和方法 3、javasrcipt可以通过typeof来判断原始数据类型,但不能判断引用类型,要知道引用类型的具体类型,可以通过Object原型上的toString来判断。 4

在HTML5 localStorage中存储对象

我是研究僧i 提交于 2020-03-27 08:58:59
3 月,跳不动了?>>> 问题: I'd like to store a JavaScript object in HTML5 localStorage , but my object is apparently being converted to a string. 我想将JavaScript对象存储在HTML5 localStorage ,但是我的对象显然正在转换为字符串。 I can store and retrieve primitive JavaScript types and arrays using localStorage , but objects don't seem to work. 我可以使用 localStorage 存储和检索原始JavaScript类型和数组,但是对象似乎无法正常工作。 Should they? 应该吗 Here's my code: 这是我的代码: var testObject = { 'one': 1, 'two': 2, 'three': 3 }; console.log('typeof testObject: ' + typeof testObject); console.log('testObject properties:'); for (var prop in testObject) { console.log(' '

javascript创建对象的方法总结

强颜欢笑 提交于 2020-03-27 08:42:17
Javascript创建对象 最简单的方法:创建object实例。 var person=new Object(); person.name="Joey";person.age=28; person.sayName=function(){ alert(this.name); }; 或者使用字面量的形式会简洁一些 var person={ name:"Joey", age:28, sayName:function(){alert(this.name);} }; 缺点:如果要创建多个实例会产生大量重复代码,最好只用于创建单个对象。 工厂模式 ECMAscript中是没有类的,由于利用Obeject创建多个实例代码量太多,于是考虑使用一个函数将创建对象的过程封装起来。 function creatPerson(name,age){ var o=new Object(); o.name=name; o.age=age; o.sayName=function(){ alert(this.name)}; } return o; var person1=creatPerson("Joey",28); var person2=creatPerson("Mary",20); 在creatPerson函数中,实例化了一个对象o,给了o三个属性(sayName属性对应的是一个函数)